<SEC-DOCUMENT>0001174947-25-000197.txt : 20250219
<SEC-HEADER>0001174947-25-000197.hdr.sgml : 20250219
<ACCEPTANCE-DATETIME>20250219170225
ACCESSION NUMBER:		0001174947-25-000197
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		103
CONFORMED PERIOD OF REPORT:	20241231
FILED AS OF DATE:		20250219
DATE AS OF CHANGE:		20250219

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			STURM RUGER & CO INC
		CENTRAL INDEX KEY:			0000095029
		STANDARD INDUSTRIAL CLASSIFICATION:	ORDNANCE & ACCESSORIES, (NO VEHICLES/GUIDED MISSILES) [3480]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				060633559
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		1 LACEY PLACE
		CITY:			SOUTHPORT
		STATE:			CT
		ZIP:			06490
		BUSINESS PHONE:		2032597843

	MAIL ADDRESS:	
		STREET 2:		1 LACEY PLACE
		CITY:			SOUTHPORT
		STATE:			CT
		ZIP:			06490
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>rgr-20241231.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Wed Feb 19 03:12:51 UTC 2025 -->
<html xmlns:compsci="http://compsciresources.com" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:cyd="http://xbrl.sec.gov/cyd/2024" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:dtr="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" 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:link="http://www.xbrl.org/2003/linkbase" xmlns:rgr="http://www.ruger.com/20241231" xmlns:srt="http://fasb.org/srt/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:us-types="http://fasb.org/us-types/2024" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/1999/xhtml">
<head>
     <title> </title>

<meta content="text/html" http-equiv="Content-Type"/>
</head>
<body><div style="font: 10pt Times New Roman, Times, Serif"><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">SECURITIES AND EXCHANGE COMMISSION</p><div>

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

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">FORM <ix:nonNumeric contextRef="c0" name="dei:DocumentType" id="ixv-16363">10-K</ix:nonNumeric></p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">FOR ANNUAL AND TRANSITION REPORTS</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">PURSUANT TO SECTION 13 OR 15(d) THE SECURITIES
EXCHANGE ACT OF 1934</p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">(Mark One)</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"><ix:nonNumeric contextRef="c0" format="ixt-sec:boolballotbox" name="dei:DocumentAnnualReport" id="ixv-16364">&#9746;</ix:nonNumeric> ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES
EXCHANGE ACT OF 1934</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">For the fiscal year ended <ix:nonNumeric contextRef="c0" format="ixt:date-monthname-day-year-en" name="dei:DocumentPeriodEndDate" id="ixv-16365"><ix:nonNumeric contextRef="c0" format="ixt:date-monthname-day-en" name="dei:CurrentFiscalYearEndDate" id="ixv-16366">December 31</ix:nonNumeric>, <ix:nonNumeric contextRef="c0" name="dei:DocumentFiscalYearFocus" id="ixv-16367">2024</ix:nonNumeric></ix:nonNumeric></p><div>

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

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><ix:nonNumeric contextRef="c0" format="ixt-sec:boolballotbox" name="dei:DocumentTransitionReport" id="ixv-16368">&#9744;</ix:nonNumeric> TRANSITION REPORT PURSUANT TO SECTION
13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">For the transition period from ____________ to
___________</p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Commission File Number <ix:nonNumeric contextRef="c0" name="dei:EntityFileNumber" id="ixv-16369">001-10435</ix:nonNumeric></p><div>

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

</div><p style="font: bold 12pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:EntityRegistrantName" id="ixv-16370">STURM, RUGER &amp; COMPANY, INC.</ix:nonNumeric></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Exact Name of Registrant as Specified in Its
Charter)</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;"> <tr style="font: bold 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: bold 10pt Times New Roman, Times, Serif; width: 52%; padding-right: 4pt; padding-left: 4pt; text-align: center"><ix:nonNumeric contextRef="c0" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" id="ixv-16371">Delaware</ix:nonNumeric></td> <td style="font: bold 10pt Times New Roman, Times, Serif; width: 48%; padding-right: 4pt; padding-left: 4pt; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:EntityTaxIdentificationNumber" id="ixv-16372">06-0633559</ix:nonNumeric></td></tr> <tr style="vertical-align: top"> <td style="padding-right: 4pt; padding-left: 4pt; font-size: 10pt; text-align: center">(State or Other Jurisdiction of<br/> Incorporation or Organization)</td> <td style="padding-right: 4pt; padding-left: 4pt; font-size: 10pt; text-align: center">(I.R.S. Employer <br/> Identification No.)</td></tr> </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;"> <tr style="font: bold 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: bold 10pt Times New Roman, Times, Serif; width: 52%; padding-right: 4pt; padding-left: 4pt; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:EntityAddressAddressLine1" id="ixv-16373">1 Lacey Place</ix:nonNumeric>, <ix:nonNumeric contextRef="c0" name="dei:EntityAddressCityOrTown" id="ixv-16374">Southport</ix:nonNumeric>, <ix:nonNumeric contextRef="c0" format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince" id="ixv-16375">Connecticut</ix:nonNumeric></td> <td style="font: bold 10pt Times New Roman, Times, Serif; width: 48%; padding-right: 4pt; padding-left: 4pt; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:EntityAddressPostalZipCode" id="ixv-16376">06890</ix:nonNumeric></td></tr> <tr style="vertical-align: top"> <td style="padding-right: 4pt; padding-left: 4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Address of Principal Executive Offices)</span></td> <td style="padding-right: 4pt; padding-left: 4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Zip Code)</span></td></tr> </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>&#160;</b></p><div>

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:CityAreaCode" id="ixv-16377">(203)</ix:nonNumeric> <ix:nonNumeric contextRef="c0" name="dei:LocalPhoneNumber" id="ixv-16378">259-7843</ix:nonNumeric></p><div>

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

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

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

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;"> <tr style="vertical-align: top"> <td style="width: 39%; padding-right: 4pt; padding-left: 4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title of Each Class</span></td> <td style="width: 20%; padding-right: 4pt; padding-left: 4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trading Symbol(s)</span></td> <td style="width: 41%; padding-right: 4pt; padding-left: 4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name of Each Exchange on Which Registered</span></td></tr> <tr style="vertical-align: top"> <td style="padding-right: 4pt; padding-left: 4pt; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:Security12bTitle" id="ixv-95"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Common Stock, $1 par value</b></span></ix:nonNumeric></td> <td style="padding-right: 4pt; padding-left: 4pt; text-align: center"><ix:nonNumeric contextRef="c0" name="dei:TradingSymbol" id="ixv-99"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>RGR</b></span></ix:nonNumeric></td> <td style="padding-right: 4pt; padding-left: 4pt; text-align: center"><ix:nonNumeric contextRef="c0" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName" id="ixv-103"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>New York Stock Exchange</b></span></ix:nonNumeric></td></tr> </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Title of Class)</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Indicate by check mark if the registrant is a well-known seasoned
issuer, as defined in Rule 405 of the Securities Act. <b><span style="-sec-ix-hidden: hidden-fact-0">YES</span> &#9746; NO &#9744;</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Indicate by check mark if the registrant is not required to file reports
pursuant to Section 13 or Section 15(d) of the Act. <b>YES &#9744; <span style="-sec-ix-hidden: hidden-fact-1">NO</span> &#9746;</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Indicate
by check mark whether registrant (1) has filed all reports required to be filed by Section 13 or Section 15(d) of the Securities Exchange
Act of 1934 during the preceding 12 months (or shorter such period of time that the registrant was required to file such reports), and
(2) has been subject to such filing requirements for the past 90 days. <b><span style="-sec-ix-hidden: hidden-fact-2">YES</span> &#9746; NO &#9744;</b></span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">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). <b><span style="-sec-ix-hidden: hidden-fact-3">YES</span> &#9746; NO &#9744;</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark whether the registrant
is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company.
See definition of &#8220;accelerated filer,&#8221; &#8220;large accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and
&#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act. <ix:nonNumeric contextRef="c0" format="ixt-sec:entityfilercategoryen" name="dei:EntityFilerCategory" id="ixv-16379">Large accelerated filer</ix:nonNumeric> <b>&#9746;</b> Accelerated filer &#9744;
Non-accelerated filer &#9744; Smaller reporting company &#9744; Emerging growth company <ix:nonNumeric contextRef="c0" format="ixt:fixed-false" name="dei:EntityEmergingGrowthCompany" id="ixv-16380"><ix:nonNumeric contextRef="c0" format="ixt-sec:boolballotbox" name="dei:EntitySmallBusiness" id="ixv-16381">&#9744;</ix:nonNumeric></ix:nonNumeric></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">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;</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark whether the registrant
has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial
reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C 7262(b)) by the registered public accounting firm that prepared or
issued its audit report. <ix:nonNumeric contextRef="c0" format="ixt-sec:boolballotbox" name="dei:IcfrAuditorAttestationFlag" id="ixv-150"><b>&#9746;</b></ix:nonNumeric></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">If securities are registered pursuant to Section
12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction
of an error to previously issued financial statements. <b>YES &#9744; NO <ix:nonNumeric contextRef="c0" format="ixt:fixed-false" name="dei:DocumentFinStmtErrorCorrectionFlag" id="ixv-16382">&#9746;</ix:nonNumeric></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Indicate by check mark whether any of those error
corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant&#8217;s
executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b). &#9744;</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Indicate
by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). </span><b>YES &#9744; NO <ix:nonNumeric contextRef="c0" format="ixt:fixed-false" name="dei:EntityShellCompany" id="ixv-16383">&#9746;</ix:nonNumeric></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The aggregate market value of the voting and non-voting
common equity held by non-affiliates of the registrant computed by reference to the price at which the common equity was last sold, or
the average bid and asked price of such common equity, as of June 30, 2024:</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Common Stock, $1 par value - $<ix:nonFraction contextRef="c1" decimals="0" format="ixt:num-dot-decimal" name="dei:EntityPublicFloat" scale="0" unitRef="usd" id="ixv-16384">771,970,000</ix:nonFraction></i></p><div>

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

</div><!-- Field: Page; Sequence: 1 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->1<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify">The number of shares outstanding of the registrant's
common stock as of February 10, 2025: <i>Common Stock, $1 par value &#8211;<ix:nonFraction contextRef="c2" decimals="INF" format="ixt:num-dot-decimal" name="dei:EntityCommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-16385">16,762,100</ix:nonFraction>, shares</i></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>DOCUMENTS INCORPORATED BY REFERENCE.</b></p><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="dei:DocumentsIncorporatedByReferenceTextBlock" id="ixv-197"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Portions of the registrant&#8217;s Proxy Statement
relating to the 2025 Annual Meeting of Stockholders to be held May 29, 2025 are incorporated by reference into Part III (Items 10 through
14) of this Report.</p></ix:nonNumeric><div>

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

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

</div><!-- Field: Page; Sequence: 2 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

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

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;">
  <tr style="vertical-align: top">
    <td colspan="3" style="text-align: center"><a href="#a_001">PART I</a></td></tr>
  <tr style="vertical-align: top">
    <td style="width: 0.75in">&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center; width: 0.5in">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 1.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_002">Business</a></td>
    <td style="vertical-align: bottom; text-align: center">&#160;5</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 1A.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_003">Risk Factors</a></td>
    <td style="vertical-align: bottom; text-align: center">12</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 1B.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_004">Unresolved Staff Comment</a></td>
    <td style="vertical-align: bottom; text-align: center">17</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 1C.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_005">Cybersecurity</a></td>
    <td style="vertical-align: bottom; text-align: center">17</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 2.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_006">Properties</a></td>
    <td style="vertical-align: bottom; text-align: center">18</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 3.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_007">Legal Proceedings</a></td>
    <td style="vertical-align: bottom; text-align: center">19</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 4.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_008">Mine Safety Disclosures</a></td>
    <td style="vertical-align: bottom; text-align: center">19</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="3" style="text-align: center"><a href="#a_009">PART II</a></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 5.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_010">Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</a></td>
    <td style="vertical-align: bottom; text-align: center">20</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 6.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_011">[Reserved]</a></td>
    <td style="vertical-align: bottom; text-align: center">22</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 7.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_012">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></td>
    <td style="vertical-align: bottom; text-align: center">23</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 7A.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_013">Quantitative and Qualitative Disclosures About Market Risk</a></td>
    <td style="vertical-align: bottom; text-align: center">45</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 8.</td>
    <td style="padding-right: 3pt; padding-left: 7.9pt; text-indent: -7.9pt"><a href="#a_014">Financial Statements and Supplementary Data</a></td>
    <td style="vertical-align: bottom; text-align: center">46</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 9.</td>
    <td style="padding-right: 3pt; padding-left: 7.9pt; text-indent: -7.9pt"><a href="#a_015">Changes in and Disagreements With Accountants on Accounting and Financial Disclosure</a></td>
    <td style="vertical-align: bottom; text-align: center">80</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 9A.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_016">Controls and Procedures</a></td>
    <td style="vertical-align: bottom; text-align: center">80</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 9B.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_017">Other Information</a></td>
    <td style="vertical-align: bottom; text-align: center">81</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 9C.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_018">Disclosure Regarding Foreign Jurisdictions That Prevent Inspections</a></td>
    <td style="vertical-align: bottom; text-align: center">81</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="3" style="text-align: center"><a href="#a_019">PART III</a></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 10.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_020">Directors, Executive Officers and Corporate Governance</a></td>
    <td style="vertical-align: bottom; text-align: center">82</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 11.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_021">Executive Compensation</a></td>
    <td style="vertical-align: bottom; text-align: center">82</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 12.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_022">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</a></td>
    <td style="vertical-align: bottom; text-align: center">82</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 13.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_023">Certain Relationships and Related Transactions and Director Independence</a></td>
    <td style="vertical-align: bottom; text-align: center">83</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="vertical-align: bottom; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 14.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_024">Principal Accountant Fees and Services</a></td>
    <td style="vertical-align: bottom; text-align: center">83</td></tr>
  </table><div>

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

</div><!-- Field: Page; Sequence: 3 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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



</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;">
  <tr style="vertical-align: top">
    <td colspan="3" style="text-align: center"><a href="#a_025">PART IV</a></td></tr>
  <tr style="vertical-align: top">
    <td style="width: 0.75in">&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="text-align: center; width: 0.5in">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>Item 15.</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt"><a href="#a_026">Exhibits and Financial Statement Schedules</a></td>
    <td style="text-align: center">84</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="padding-right: 3pt; padding-left: 7.95pt; text-indent: -7.95pt">&#160;</td>
    <td style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2"><a href="#a_027">Signatures</a></td>
    <td style="text-align: center">87</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2"><a href="#a_028">Exhibit Index</a></td>
    <td style="text-align: center">88</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="padding-right: -22.5pt"><a href="#a_029">Financial Statement Schedule</a></td>
    <td style="text-align: center">91</td></tr>
  <tr style="vertical-align: top">
    <td colspan="2"><a href="#a_028">Exhibits</a></td>
    <td style="text-align: center">93</td></tr>
  </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

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

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In this Annual Report on Form 10-K, Sturm, Ruger
&amp; Company, Inc. and Subsidiaries (the &#8220;Company&#8221;) makes forward-looking statements and projections concerning future expectations.
Such statements are based on current expectations and are subject to certain qualifying risks and uncertainties, such as market demand,
sales levels of firearms, anticipated castings sales and earnings, the need for external financing for operations or capital expenditures,
the results of pending litigation against the Company, the impact of future firearms control and environmental legislation, and accounting
estimates, any one or more of which could cause actual results to differ materially from those projected. Words such as &#8220;expect,&#8221;
&#8220;believe,&#8221; &#8220;anticipate,&#8221; &#8220;intend,&#8221; &#8220;estimate,&#8221; &#8220;will,&#8221; &#8220;should,&#8221;
&#8220;could&#8221; and other words and terms of similar meaning, typically identify such forward-looking statements. Readers are cautioned
not to place undue reliance on these forward-looking statements, which speak only as of the date made. The Company undertakes no obligation
to publish revised forward-looking statements to reflect events or circumstances after the date such forward-looking statements are made
or to reflect the occurrence of subsequent unanticipated events.</p><div>

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

</div><!-- Field: Page; Sequence: 4 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><div><a id="a_001"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>PART I</b></p><div>

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

</div><div><a id="a_002"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>ITEM 1&#8212;BUSINESS</b></p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Company Overview</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Sturm, Ruger &amp; Company, Inc. and Subsidiaries
(the &#8220;Company&#8221;) is principally engaged in the design, manufacture, and sale of firearms to domestic customers. Virtually all
of the Company&#8217;s sales for the year ended December 31, 2024 were from the firearms segment, with less than 1% from the castings
segment. Export sales represent approximately 5% of firearms sales. The Company&#8217;s design and manufacturing operations are located
in the United States and almost all product content is domestic.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has been in business since 1949 and
was incorporated in its present form under the laws of Delaware in 1969. The Company primarily offers products in three industry product
categories &#8211; rifles, pistols, and revolvers. The Company&#8217;s firearms are sold through independent wholesale distributors, principally
to the commercial sporting market.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company manufactures and sells investment
castings made from steel alloys and metal injection molding (&#8220;MIM&#8221;) parts for internal use in the firearms segment and has
minimal sales to outside customers. The castings and MIM parts are sold to outside customers, either directly or through manufacturers&#8217;
representatives.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For the years ended December 31, 2024, 2023, and
2022, net sales attributable to the Company's firearms operations were $533.6 million, $540.7 million and $593.3 million. The balance
of the Company's net sales for the aforementioned periods was attributable to its castings operations.</p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Firearms Products</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company presently manufactures firearm products,
under the &#8220;Ruger&#8221; name and trademark, in the following industry categories:</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;">
  <tr style="vertical-align: top">
    <td style="font-weight: bold; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Rifles</span></td>
    <td style="font-weight: bold; text-align: justify">&#160;</td>
    <td colspan="2" style="font-weight: bold; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Revolvers</span></td></tr>
  <tr style="vertical-align: top">
    <td style="width: 0.5in; text-align: center"><span>&#9679;</span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Single-shot</span></td>
    <td style="width: 0.5in; text-align: center"><span>&#9679;</span></td>
    <td style="width: 2in"><span style="font-family: Times New Roman, Times, Serif">Single-action</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: center"><span>&#9679;</span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Autoloading</span></td>
    <td style="text-align: center"><span>&#9679;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Double-action</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: center"><span>&#9679;</span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Bolt-action</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: center"><span>&#9679;</span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Modern sporting </span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif"><b>Pistols</b></span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: center"><span>&#9679;</span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Rimfire autoloading</span></td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: center"><span>&#9679;</span></td>
    <td style="text-align: justify">Centerfire autoloading</td>
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In addition, the Company manufactures lever-action
rifles under the &#8220;Marlin&#8221; name and trademark.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Most firearms are available in several models
based upon caliber, finish, barrel length, and other features.</p><div>

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

</div><!-- Field: Page; Sequence: 5 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A rifle is a long gun with spiral grooves cut
into the interior of the barrel to give the bullet a stabilizing spin after it leaves the barrel. Net sales of rifles by the Company accounted
for $310.2 million, $306.8 million, and $305.4 million of total net sales for the years 2024, 2023, and 2022, respectively.</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A pistol is a handgun in which the ammunition
chamber is an integral part of the barrel and which typically is fed ammunition from a magazine contained in the grip. Net sales of pistols
by the Company accounted for $135.3 million, $131.4 million, and $184.7 million of revenues for the years 2024, 2023, and 2022, respectively.</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A revolver is a handgun that has a cylinder that
holds the ammunition in a series of chambers which are successively aligned with the barrel of the gun during each firing cycle. There
are two general types of revolvers, single-action and double-action. To fire a single-action revolver, the hammer is pulled back to cock
the gun and align the cylinder before the trigger is pulled. To fire a double-action revolver, a single trigger pull advances the cylinder
and cocks and releases the hammer. Net sales of revolvers by the Company accounted for $54.8 million, $72.5 million, and $70.0 million
of revenues for the years 2024, 2023, and 2022, respectively.</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company also manufactures and sells accessories
and replacement parts for its firearms. These sales accounted for $33.3 million, $30.0 million, and $33.2 million of total net sales for
the years 2024, 2023, and 2022, respectively.</p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Castings Products</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Net sales attributable to the Company&#8217;s
casting operations (excluding intercompany transactions) accounted for $3.0 million, $3.0 million, and $2.6 million, for 2024, 2023, and
2022, respectively. These sales represented less than 1% of total net sales in each year.</p><div>

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

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company produces some of its pistol models,
most of its revolvers, and some of its rifle models at the Newport, New Hampshire facility. One model of revolver, one model of rifle,
and most of the Company&#8217;s pistols are produced at the Prescott, Arizona facility. Some rifle models and pistol models are produced
at the Mayodan, North Carolina facility.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Many of the basic metal component parts of the
firearms manufactured by the Company are produced by the Company's castings segment through precision investment casting and metal injection
molding. See "Manufacturing- Investment Castings and Metal Injected Moldings" below for a description of these processes. The
Company believes that investment castings and MIM parts provide greater design flexibility and result in component parts which are generally
close to their ultimate shape and, therefore, require less machining than processes requiring machining a </p><div>

</div><!-- Field: Page; Sequence: 6 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">solid billet of metal to obtain
a part. Through the use of investment castings and MIM parts, the Company endeavors to produce durable and less costly component parts
for its firearms.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">All assembly, inspection, and testing of firearms
manufactured by the Company are performed at the Company's manufacturing facilities. Every firearm, including every chamber of every revolver
manufactured by the Company, is test-fired prior to shipment.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Investment Castings and Metal Injection Moldings</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">To produce a product by the investment casting
method, a wax model of the part is created and coated (&#8220;invested&#8221;) with several layers of ceramic material. The shell is then
heated to melt the interior wax, which is poured off, leaving a hollow mold. To cast the desired part, molten metal is poured into the
mold and allowed to cool and solidify. The mold is then broken off to reveal a near net shape cast metal part.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Metal injection molding is a three part powder
metallurgy process by which a feedstock consisting of finely powdered metal and binders is processed through injection molding, debinding,
and sintering equipment to produce steel, stainless steel, and alloy parts of complex shape and geometry. &#160;This process allows for
high volume production while eliminating many of the wastes of traditional metal working methods, yielding net shape and near net shape
parts.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Marketing and Distribution</span></b></p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company's firearms are primarily marketed
through a network of federally licensed, independent wholesale distributors who purchase the products directly from the Company. They
resell to federally licensed, independent retail firearms dealers who in turn resell to legally authorized end users. All retail purchasers
are subject to a point-of-sale background check by law enforcement. These end users include sportsmen, hunters, people interested in self-defense,
law enforcement and other governmental organizations, and gun collectors. Each domestic distributor carries the entire line of firearms
manufactured by the Company for the commercial market. Currently, 14 distributors service the domestic commercial market, with an additional
26 distributors servicing the domestic law enforcement market and 44 distributors servicing the export market.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s &#8211; 28%; Sports South - 18%; and Davidson&#8217;s
- 16%.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s &#8211; 24%; Davidson&#8217;s - 19%; and Sports South
- 15%.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - 23%; Davidson&#8217;s - 23%; and Sports South - 21%.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company employs 18 employees who service these
distributors and call on retailers and law enforcement agencies. Because the ultimate demand for the Company's firearms comes from end
users rather than from the independent wholesale distributors, the Company believes that the loss </p><div>

</div><!-- Field: Page; Sequence: 7 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">of any distributor would not have a
material, long-term adverse effect on the Company, but may have a material adverse effect on the Company&#8217;s financial results for
a particular period. The Company considers its relationships with its distributors to be satisfactory.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company also exports its firearms through
a network of selected commercial distributors and directly to certain foreign customers, consisting primarily of law enforcement agencies
and foreign governments. Foreign sales were 5%, 6%, and 6% of the Company&#8217;s consolidated net sales for 2024, 2023, and 2022, respectively.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Investment Castings and Metal Injection Moldings</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The castings segment provides castings and MIM
parts for the Company&#8217;s firearms segment. In addition, the castings segment produces some products for a number of customers in
a variety of industries.</p><div>

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

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Competition in the firearms industry is intense
and comes from both foreign and domestic manufacturers. While some of these competitors concentrate on a single industry product category
such as rifles or pistols, many competitors manufacture products in two or three of the four categories (rifles, shotguns, pistols, and
revolvers) and a few competitors manufacture products in all four categories. The principal methods of competition in the industry are
product innovation, quality, availability, brand, and price. The Company believes that it can compete effectively with all of its present
competitors.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Investment Castings and Metal Injection Moldings</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">There are a large number of investment castings
and MIM manufacturers, both domestic and foreign, with which the Company competes. Competition varies based on the type of investment
castings products and the end use of the product. Companies offering alternative methods of manufacturing such as wire electric discharge
machining (EDM) and advancements in computer numeric controlled (CNC) machining also compete with the Company&#8217;s castings segment.
Many of these competitors are larger corporations than the Company with substantially greater financial resources than the Company, which
could affect the Company&#8217;s ability to compete with these competitors. The principal methods of competition in the industry are quality,
price, and production lead time.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Human Capital</span></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The Company
is an equal opportunity employer dedicated to the attraction, development, and retention of our employees by providing a preferred work
environment that promotes and celebrates our core values of Integrity, Respect, Innovation and Teamwork. Our goal is to develop, motivate,
retain and reward passionate and dedicated employees. </span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of February 1, 2025, the Company employed approximately
1,780 full-time employees, approximately 33% of whom had at least ten years of service with the Company.</p><div>

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

</div><!-- Field: Page; Sequence: 8 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company attracts candidates and retains employees
by offering competitive compensation packages, which include:</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Base wages,</td></tr></table><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Profit sharing,</td></tr></table><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Medical and welfare benefits,</td></tr></table><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Holidays and other paid time off, and</td></tr></table><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">401(k) plan participation and matching program.</td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 3pt; text-align: justify">The Company believes its compensation
packages:</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Provide a base level of compensation to reflect an individual&#8217;s role and responsibilities,</td></tr></table><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Recognize and reward employees for the Company&#8217;s success, and</td></tr></table><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify">Provide for the safety, security and well-being of employees.</td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Our primary vehicle for human capital development
is Ruger University, which has a mission to:</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; background-color: white; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Enhance the understanding of our industry, Company
and culture,</span></td></tr></table><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; background-color: white; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Strengthen the technical, interpersonal and leadership
skills of each employee, and</span></td></tr></table><div>

</div><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; background-color: white; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Allow employees to positively change their own
lives while creating value for all Ruger stakeholders.</span></td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In addition to providing a competitive compensation
package and emphasizing the development of employees, the Company retains its employees by maintaining a safe, responsible, and preferred
workplace. The Company is committed to conducting business in conformance with the highest ethical standards and in compliance with all
applicable legal and regulatory requirements. The &#8220;Code of Business Conduct and Ethics&#8221; and the &#8220;Corporate Compliance
Program&#8221; are two active programs that guide the Company&#8217;s practices to achieve these goals.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">To assess and improve employee retention and engagement,
the Company surveys employees on an annual basis with the assistance of a third-party consultant, and takes actions to address areas of
employee concern and build on the competencies that are important for our future success.</p><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, 2023, and 2022, the Company spent approximately
$8.2 million, $9.8 million, and $9.6 million, respectively, on research and development activities relating to new products and the improvement
of existing products. Research and development expenses are included in costs of products sold. As of February 1, 2025, the Company had
approximately 60 employees whose primary responsibilities were research and development activities.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">Patents and Trademarks</span></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company owns various United States and foreign
patents and trademarks which have been secured over a period of years and which expire at various times. It is the policy of the Company
to apply for patents and trademarks whenever new products or processes deemed commercially </p><div>

</div><!-- Field: Page; Sequence: 9 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">valuable are developed or marketed by the Company.
The Company deems its patents and trademarks to be valuable and therefore works to police and protect them.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Environmental Matters</span></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is committed to achieving high standards
of environmental quality and product safety, and strives to provide a safe and healthy workplace for its employees and others in the communities
in which it operates. The Company has programs in place that monitor compliance with various environmental regulations. However, in the
normal course of its manufacturing operations the Company is subject to governmental proceedings and orders pertaining to waste disposal,
air emissions, and water discharges into the environment. These regulations are integrated into the Company&#8217;s manufacturing, assembly,
and testing processes. The Company believes that it is generally in compliance with applicable environmental regulations and that the
outcome of any environmental proceedings and orders will not have a material adverse effect on the financial position of the Company,
but could have a material adverse effect on the financial results for a particular period.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Information about our Executive Officers</span></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Set forth below are the names, ages, and positions
of the executive officers of the Company. Officers serve at the discretion of the Board of Directors of the Company.</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;">
  <tr style="vertical-align: top">
    <td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; padding-left: 20pt; text-align: justify; width: 28%"><span style="font-family: Times New Roman, Times, Serif">Name</span></td>
    <td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center; width: 10%"><span style="font-family: Times New Roman, Times, Serif">Age</span></td>
    <td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center; width: 62%"><span style="font-family: Times New Roman, Times, Serif">Position With Company</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Christopher J. Killoy</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">66</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">President and Chief Executive Officer <br/>
(until March 1, 2025)</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Todd W. Seyfert</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">55</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">President and Chief Executive Officer <br/>
(effective March 1, 2025)</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Thomas A. Dineen</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">56</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">Senior Vice President, Treasurer, and Chief Financial Officer</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Kevin B. Reid, Sr.</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">64</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">Vice President, General Counsel, and Corporate Secretary</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Shawn C. Leska</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">53</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">Vice President, Sales </span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Sarah F. Colbert</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">44</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">Vice President, Administration</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Timothy M. Lowney</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">61</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">Vice President of Manufacturing Operations</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Michael W. Wilson</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">48</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">Vice President of New Product Development</span></td></tr>
  <tr style="vertical-align: top; background-color: White">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center">&#160;</td>
    <td style="padding-left: 9pt; text-indent: -9pt">&#160;</td></tr>
  <tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Robert J. Werkmeister, Jr.</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">50</span></td>
    <td style="padding-left: 9pt; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif">Vice President of Marketing</span></td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Christopher J. Killoy became President &amp; Chief
Executive Officer on May 9, 2017. Previously he served as President and Chief Operating Officer since January 1, 2014. Prior to that he
served as Vice President of Sales and Marketing since November 27, 2006. Mr. Killoy originally joined the Company in 2003 as Executive
Director of Sales and Marketing, and subsequently served as Vice </p><div>

</div><!-- Field: Page; Sequence: 10 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">President of Sales and Marketing from
November 1, 2004 to January 25, 2005. Mr. Killoy will step down as President &amp; Chief Executive Officer on March 1, 2025 and then
serve as a Special Advisor through his planned retirement from the Company in May 2025.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Todd W. Seyfert will become President &amp; Chief
Executive Officer on March 1, 2025. Previously, Mr. Seyfert served as the President of Segment Land Vehicles Americas at Dometic Group
AB since January 2024. Prior to that Mr. Seyfert served as the Chief Executive Officer of FeraDyne Outdoors, LLC, a leading manufacturer
of premium archery and hunting products from February 2016 through May 2023.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Thomas A. Dineen became Senior Vice President
on July 10, 2017. Previously he served as Vice President since May 24, 2006. Prior to that he served as Treasurer and Chief Financial
Officer since May 6, 2003 and had been Assistant Controller since 2001. Mr. Dineen joined the Company as Manager, Corporate Accounting
in 1997.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Kevin B. Reid, Sr. became Vice President and General
Counsel on April 23, 2008. Previously he served as the Company&#8217;s Director of Marketing from June 4, 2007. Mr. Reid joined the Company
in July 2001 as an Assistant General Counsel.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Shawn C. Leska became Vice President, Sales on
November 6, 2015. Mr. Leska joined the Company in 1989 and has served in a variety of positions in the sales department. Most recently,
Mr. Leska served as Director of Sales since 2011.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Sarah F. Colbert became Vice President of Administration
on June 1, 2017. Ms. Colbert has served the Company in various human resource and legal capacities since joining the Company in 2011.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Timothy M. Lowney became Vice President of Manufacturing
Operations on June 15, 2023. Previously, he served as the Company&#8217;s Vice President of Operations for Newport, Prescott and RPM Manufacturing
since June 15, 2023. Mr. Lowney joined the Company in January 2007.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Michael W. Wilson became Vice President of New
Product Development on April 1, 2024. Previously, he served as the Company&#8217;s Vice President of Operations for New Product Development,
Product Engineering and Mayodan Manufacturing since June 15, 2023. Mr. Wilson joined the Company in July 2007.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Robert J. Werkmeister, Jr. became Vice President
of Marketing upon joining the Company on June 1, 2017. Mr. Werkmeister has served as the Company&#8217;s Director of Marketing since January
2013 as President and founder of Symbolic, Inc., a full-service marketing agency. While with Symbolic, Rob began working with Ruger as
a client in 2002 and has been the primary strategic marketing driver for the Ruger account since 2007.</p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Where You Can Find More Information</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is subject to the informational requirements
of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;), and accordingly, files its Annual Report on Form
10-K, Quarterly Reports on Form 10-Q, Definitive Proxy Statements, Current Reports on Form 8-K, and </p><div>

</div><!-- Field: Page; Sequence: 11 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">other information with the Securities
and Exchange Commission (the &#8220;SEC&#8221;). As an electronic filer, the Company's public filings are maintained on the SEC's Internet
site that contains reports, proxy and information statements, and other information regarding issuers that file electronically with the
SEC. The address of that website is http://www.sec.gov.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company makes its Annual Report on Form 10-K,
Quarterly Reports on Form 10-Q, Definitive Proxy Statements, Current Reports on Form 8-K and amendments to those reports filed or furnished
pursuant to Section 13(a) or 15(d) of the Exchange Act accessible free of charge through the Company's Internet site after the Company
has electronically filed such material with, or furnished it to, the SEC. The address of that website is http://www.ruger.com. However,
such reports may not be accessible through the Company's website as promptly as they are accessible on the SEC&#8217;s website.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Additionally, the Company&#8217;s corporate governance
materials, including its Corporate Governance Guidelines, the charters of the Audit, Compensation, Nominating and Corporate Governance,
Risk Oversight and Capital Policy committees, and the Code of Business Conduct and Ethics may also be found under the &#8220;Investor
Relations&#8221; subsection of the &#8220;Corporate&#8221; section of the Company&#8217;s Internet site at http://www.ruger.com/corporate.
A copy of the foregoing corporate governance materials is available upon written request to the Corporate Secretary at Sturm, Ruger &amp;
Company, Inc., 1 Lacey Place, Southport, Connecticut 06890.</p><div>

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

</div><div><a id="a_003"></a></div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">ITEM 1A&#8212;RISK FACTORS</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s operations could be affected
by various risks, many of which are beyond its control. Based on current information, the Company believes that the following identifies
the most significant risk factors that could have a material, adverse effect on its business, operating results, and financial condition.
Past financial performance may not be a reliable indicator of future performance and historical trends should not be used to anticipate
results or trends in future periods.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In evaluating the Company&#8217;s business, the
following risk factors, as well as other information in this report, should be carefully considered.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>Changes in government policies and firearms
legislation could adversely affect the Company&#8217;s financial results.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The sale, purchase, ownership, and use of firearms
are subject to thousands of federal, state and local governmental regulations. The basic federal laws are the National Firearms Act, the
Federal Firearms Act, and the Gun Control Act of 1968. Federal law generally prohibits the private ownership of fully automatic weapons
manufactured after 1986 and places certain restrictions on the interstate sale of firearms unless certain licenses are obtained. The Company
does not manufacture fully automatic weapons and holds all necessary licenses under these federal laws. If the scope of the National Firearms
Act is expanded to regulate firearms currently regulated by the Gun Control Act, it could make acquisition of commonly owned and used
firearms more expensive and complicated for consumers, which could have a material adverse impact on demand for Company products. Several
states currently have laws in effect similar to the aforementioned legislation.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2005, Congress enacted the Protection of Lawful
Commerce in Arms Act (&#8220;PLCAA&#8221;). The PLCAA was enacted to address abuses by cities and agenda-driven individuals who wrongly
sought to make firearms manufacturers liable for legally manufactured and lawfully sold products if those products were later used in
criminal acts. The Company believes the PLCAA merely codifies common sense and long standing tort principles. If the PLCAA is repealed
or efforts to circumvent it are successful and lawsuits similar to those filed by cities and agenda-driven individuals in the late 1990s
and early 2000s are allowed to proceed, it could have a material adverse impact on the Company.</p><div>

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

</div><!-- Field: Page; Sequence: 12 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Currently, federal and several states&#8217; legislatures
are considering additional legislation relating to the regulation of firearms, and a number of new laws have been enacted at the federal,
state, and local level. Enacted legislation and proposed bills are numerous and extremely varied, but many seek to limit magazine capacity,
restrict or ban the sale and, in some cases, the ownership of various types of firearms, or ban commonly owned firearms with certain features.
Other legislation seeks to require new technologies, such as microstamping and so-called &#8220;smart gun&#8221; technology, which are
not proven, reliable or feasible.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company believes that the lawful private ownership
of firearms is guaranteed by the Second Amendment to the United States Constitution and that the widespread private ownership of firearms
in the United States will continue. However, there can be no assurance that the regulation of firearms will not become more restrictive
in the future and that any such restriction would not have a material adverse effect on the business of the Company. Numerous bills regulating
the ownership of firearms have been proposed at the state and federal levels, and these bills propose a wide variety of restrictions including,
for example, limiting the number of firearms that may be purchased in a specified time, increasing the age for ownership, imposing additional
licensing or registration requirements, creating additional restrictions on certain, common firearm features, and levying new taxes on
firearms and/or ammunition.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>The Company&#8217;s results of operations could
be further adversely affected if legislation with diverse requirements is enacted</b>.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">With literally thousands of laws being proposed
at the federal, state and local levels, if even a small percentage of these laws are enacted and they are incongruent, the Company could
find it difficult, expensive or even practically impossible to comply with them, impeding new product development and distribution of
existing products.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>The Company&#8217;s results of operations could be adversely affected
by litigation.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company faces risks arising from various asserted
and unasserted litigation matters. These matters include, but are not limited to, assertions of allegedly defective product design or
manufacture, alleged failure to warn, claimed unfair trade practices, purported class actions against firearms manufacturers, generally
seeking relief such as medical expense reimbursement, property damages, and punitive damages arising from accidents involving firearms
or the criminal misuse of firearms, and those lawsuits filed on behalf of municipalities alleging harm to the general public. Various
factors or developments can lead to changes in current estimates of liabilities such as final adverse judgment, significant settlement
or changes in applicable law. A future adverse outcome in any one or more of these matters could have a material adverse effect on the
Company&#8217;s </p><div>

</div><!-- Field: Page; Sequence: 13 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">financial results. See Note 20 to the financial statements which are included in this Annual Report on Form 10-K.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>The Company relies upon relationships with
financial institutions. </b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company utilizes the services of numerous
financial institutions, including banks, insurance carriers, transfer agents, and others. Anti-gun politicians, gun-control activists,
and others may target these institutions and attempt to pressure them into ceasing to do business with the Company, or to use financial
relationships to impose unacceptable and improper restrictions on the Company&#8217;s business, which could have a material adverse impact
on the Company&#8217;s business, operating results, and financial condition. The potential volatility of these relationships may also
impact the Company&#8217;s decision making regarding the appropriate allocation of capital to be used for activities such as internal
investment, share repurchases, and potential acquisitions.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>The Company&#8217;s insurance may be insufficient to protect us
from claims or losses. </b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company maintains insurance coverage with
third-party insurers and through a wholly-owned captive insurance company with respect to product liability claims, which the Company
established in 2024. However, not every risk or liability is or can be protected by insurance, and, for those risks it insures, the limits
of coverage it purchases, or that are reasonably obtainable in the market, or the funding level of the Company&#8217;s wholly-owned captive
insurance company may not be sufficient to cover all actual losses or liabilities incurred. Moreover, there is a risk that commercially
available liability insurance will not continue to be available to the Company at a reasonable cost, if at all. If liability claims or
losses exceed the Company&#8217;s current or available insurance coverage, its business may be harmed.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>The Company&#8217;s results of operations could
be adversely affected by a decrease in demand for Company products.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">If demand for the Company&#8217;s products decreases
significantly, the Company would be unable to efficiently utilize its capacity, and profitability would suffer. Decreased demand could
result from a macroeconomic downturn, or could be specific to the Company and/or the firearms industry as a result of social, political,
or other factors. If the decrease in demand occurs abruptly, the adverse impact would be even greater.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>The financial health of the Company&#8217;s independent distributors
is critical to its success.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Over 90% of the Company&#8217;s sales are made
to 14 federally licensed, independent wholesale distributors. The Company reviews its distributors&#8217; financial statements and has
credit insurance for many of them. However, the Company&#8217;s credit evaluations of distributors and credit insurance may not be completely
effective, especially if higher interest rates continue to exact a financial strain. If one or more independent distributors experience
financial distress or liquidity issues, the Company&#8217;s sales could be adversely affected and the Company may not be able to collect
its accounts receivable on a timely basis, which would have an adverse impact on its operating results and financial condition.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>The Company must comply with various laws and
regulations pertaining to workplace safety and environment, environmental matters, and firearms manufacturing.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In the normal course of its manufacturing operations,
the Company is subject to numerous federal, state and local laws and governmental regulations, and governmental proceedings and orders.
</p><div>

</div><!-- Field: Page; Sequence: 14 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">These laws and regulations pertain to matters like workplace safety and environment, firearms serial number tracking and control, waste
disposal, air emissions and water discharges into the environment. Noncompliance with any one or more of these laws and regulations could
have a material adverse impact on the Company.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>Misconduct of the Company&#8217;s employees
or contractors could cause the Company to lose customers and could have a significant adverse impact on its business and reputation.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Misconduct, fraud or other improper activities
by the Company&#8217;s employees or contractors could have a material adverse impact on its business and reputation. Such misconduct could
include the failure to comply with federal, state, local or foreign government procurement regulations, regulations regarding the protection
of personal information, laws and regulations relating to antitrust and any other applicable laws or regulations.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; background-color: white"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; background-color: white"><b>Product quality and performance is important
to the Company&#8217;s success.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">The Company has a long
history of producing rugged, reliable firearms for the commercial market. While the Company believes its record of designing, manufacturing,
and selling high-quality products demonstrates its commitment to safety and quality, the Company has occasionally identified design and/or
manufacturing issues with respect to some firearms and, as a result, issued a product safety bulletin or initiated a product recall. Depending
upon the volume of products the Company has shipped into the market, any future recall or safety bulletin could harm its reputation, cause
the Company to lose business, and cause the Company to incur significant support and repair costs.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; background-color: white"><b>The ability to develop and produce new
products is important to the Company&#8217;s success.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">The Company has a long
history of designing, engineering, and manufacturing innovative new products. These new products help to drive growth, excitement, and
profitability and have historically allowed the Company to refrain from having to extend some of the aggressive promotions, discounts,
rebates, and the extension of payment terms offered by its competitors. While the Company believes it has a strong record of designing,
manufacturing, and selling new, high-quality products, failure to continue to do so in the future could harm its reputation, cause the
Company to lose business, and cause the Company to incur significant promotional costs, which would have an adverse impact on its operating
results and financial condition.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>The Company may be impacted by the actions of its competitors.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company remains focused on the long-term goal
of creating shareholder value. Its disciplined pricing and promotion strategy may not always benefit current period sales and profitability,
but endeavors to enhance its long-term performance and promote consistency throughout the distribution channel. Allowing both independent
distributors and retailers to confidently invest in its inventory is essential to the Company&#8217;s long-term success and leadership
in the volatile firearms market. However, the aggressive promotions, discounts, rebates, and the extension of payment terms offered by
its competitors could negatively impact the Company&#8217;s market share, which would have an adverse impact on its operating results
and financial condition.</p><div>

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

</div><!-- Field: Page; Sequence: 15 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>Business disruptions at one of the Company&#8217;s
manufacturing facilities could adversely affect the Company&#8217;s financial results.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Newport, New Hampshire, Prescott, Arizona,
Mayodan, North Carolina, and Earth City, Missouri facilities are critical to the Company&#8217;s success. These facilities house the Company&#8217;s
principal production, research, development, engineering, design, and shipping operations. Any event that causes a disruption of the operation
of any of these facilities for even a relatively short period of time could have a material adverse effect on the Company&#8217;s ability
to produce and ship products and to provide service to its customers.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>The Company relies on its information and communications
systems in its operations. Security breaches and other disruptions could adversely affect its business and results of operations. </b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Cybersecurity threats are significant and evolving
and include, among others, malicious software, attempts to gain unauthorized access to data, and other electronic security breaches that
could lead to disruptions in mission critical systems, unauthorized release of confidential or otherwise protected information and corruption
of data. In addition to security threats, the Company is also subject to other systems failures, including network, software or hardware
failures, whether caused by the Company, third-party service providers, natural disasters, power shortages, terrorist attacks or other
events. The unavailability of the Company&#8217;s information or communications systems, the failure of these systems to perform as anticipated
or any significant breach of data security could cause loss of data, disrupt Company operations, lead to financial losses from remedial
actions, require significant management attention and resources, and negatively impact the Company&#8217;s reputation among its customers
and the public, which could have a negative impact on the Company&#8217;s financial condition, results of operations and liquidity.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>The lack of available raw materials or component
parts could disrupt or even cease the Company&#8217;s manufacturing operations. Even if manufacturing operations are not disrupted, increased
costs of raw materials and component parts could adversely affect the Company&#8217;s financial results.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Third parties supply the Company with various
raw materials for its firearms and castings, such as fabricated steel components, walnut, birch, beech, maple and laminated lumber for
rifle stocks, wax, ceramic material, metal alloys, various synthetic products and other component parts. There is a limited supply of
these materials in the marketplace at any given time, which can cause the purchase prices to vary based upon numerous market factors.
If market conditions result in a significant prolonged inflation of certain prices or if adequate quantities of raw materials cannot be
obtained, the Company&#8217;s manufacturing processes could be interrupted and the Company&#8217;s financial condition or results of operations
could be materially adversely affected.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><b>The Company relies
primarily on third parties for transportation of the products it manufactures as well as delivery of its raw materials.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">Any increase in the cost
of the transportation of the Company&#8217;s raw materials or products, as a result of increases in fuel or labor costs, higher demand
for logistics services, consolidation in the transportation industry or otherwise, increased restrictions on the transportation of firearms,
may adversely affect its results of operations. If any of these providers were to fail to deliver raw materials to the Company in a timely
manner, the Company may be unable to manufacture and deliver its products in a timely manner. In addition, if any of these third parties
were to cease </p><div>

</div><!-- Field: Page; Sequence: 16 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">operations or cease doing business with the Company, the Company may be unable to replace them at a reasonable cost. And
such failure of a third-party transportation provider could harm the Company&#8217;s reputation, negatively affect its customer relationships
and have a material adverse effect on its financial position and results of operations.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><b>Availability and retention
of the Company&#8217;s labor force, especially its key management, is critical to the success of the Company.</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; background-color: white">The
Company has observed an overall tightening and increasingly competitive labor market, which could </span>inhibit its ability to recruit
and retain the employees it requires and could lead to increased costs, such as additional overtime to meet demand and increased wages
and benefits to attract and retain employees. The Company relies on the knowledge, experience, and leadership skills of its senior management
team. The Company&#8217;s senior executives are generally not bound by employment agreements. The loss of the services of one or more
of the Company&#8217;s senior executives or other key personnel could have a significant adverse impact on its business<span style="font-family: Times New Roman, Times, Serif">.
</span></p><div>

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

</div><div><a id="a_004"></a></div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">ITEM 1B&#8212;UNRESOLVED STAFF COMMENTS</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><div><a id="a_005"></a></div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">ITEM 1C&#8212;CYBERSECURITY</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><ix:nonNumeric contextRef="c0" continuedAt="_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock-c0_cont_1" escape="true" name="cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" id="ixv-1364"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><b>Risk management and
strategy</b></p></ix:nonNumeric><div>

</div><ix:continuation continuedAt="_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock-c0_cont_2" id="_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The Company
has processes for assessing, identifying, and managing material risks from cybersecurity threats. <ix:nonNumeric contextRef="c0" escape="true" name="cyd:CybersecurityRiskManagementProcessesIntegratedTextBlock" id="ixv-16386">These processes are <ix:nonNumeric contextRef="c0" format="ixt:fixed-true" name="cyd:CybersecurityRiskManagementProcessesIntegratedFlag" id="ixv-16387">integrated</ix:nonNumeric> into
the Company&#8217;s overall risk management systems, as overseen by the Company&#8217;s Board of Directors, primarily through its Risk
Oversight Committee.</ix:nonNumeric> These processes also include overseeing and identifying risks from cybersecurity threats associated with the use
of third-party service providers. The Company conducts security assessments of certain third-party providers before engagement and has
established monitoring procedures in its effort to mitigate risks related to data breaches or other security incidents originating from
<ix:nonNumeric contextRef="c0" format="ixt:fixed-true" name="cyd:CybersecurityRiskManagementThirdPartyEngagedFlag" id="ixv-16388">third parties</ix:nonNumeric>. The Company from time to time engages third-party consultants, legal advisors, and audit firms in evaluating and testing
the Company&#8217;s risk management systems and assessing and remediating certain potential cybersecurity incidents as appropriate. </span></p></ix:continuation><div>

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

</div><ix:continuation continuedAt="_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock-c0_cont_3" id="_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The Company
has an Information Security Program (&#8220;Program&#8221;) to protect personal and proprietary information in compliance with applicable
federal and state requirements. The Program is designed to:</span></p></ix:continuation><div>

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

</div><ix:continuation continuedAt="_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock-c0_cont_4" id="_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock-c0_cont_3"><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify"><span style="background-color: white">Ensure the security and confidentiality of employee and customer
personal information and Company proprietary information;</span></td></tr></table></ix:continuation><div>

</div><ix:continuation continuedAt="_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock-c0_cont_5" id="_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock-c0_cont_4"><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify"><span style="background-color: white">Protect against anticipated threats or hazards to the security or
integrity of such information; and</span></td></tr></table></ix:continuation><div>

</div><ix:continuation continuedAt="_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock-c0_cont_6" id="_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock-c0_cont_5"><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify"><span style="background-color: white">Protect against unauthorized access to, use of, or transfer of such
information in a manner that could harm or inconvenience the Company, employees or customers.</span></td></tr></table></ix:continuation><div>

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

</div><!-- Field: Page; Sequence: 17 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation id="_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock-c0_cont_6"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">For more
information about these risks, see the risk factor titled &#8220;The Company relies on its information and communications systems in its
operations. Security breaches and other disruptions could adversely affect its business and results of operations&#8221; under Item 1A.</span></p></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_CybersecurityRiskBoardOfDirectorsOversightTextBlock-c0_cont_1" escape="true" name="cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock" id="ixv-1425"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><b>Governance </b></p></ix:nonNumeric><div>

</div><ix:continuation continuedAt="_CybersecurityRiskBoardOfDirectorsOversightTextBlock-c0_cont_2" id="_CybersecurityRiskBoardOfDirectorsOversightTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><ix:nonNumeric contextRef="c0" escape="true" name="cyd:CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" id="ixv-16389">The Company&#8217;s Board
of Directors has assigned oversight of cybersecurity risk management to the Risk Oversight Committee.</ix:nonNumeric> <ix:nonNumeric contextRef="c0" escape="true" name="cyd:CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" id="ixv-16390">The Risk Oversight Committee regularly
receives reports from management, including senior information technology (&#8220;IT&#8221;) leadership, and third parties on cybersecurity
matters.</ix:nonNumeric> In addition, the Company&#8217;s full Board of Directors receives reports addressing cybersecurity as part of the Company&#8217;s
overall enterprise risk management program and to the extent cybersecurity matters are addressed in regular business updates.</p></ix:continuation><div>

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

</div><ix:continuation continuedAt="_CybersecurityRiskBoardOfDirectorsOversightTextBlock-c0_cont_3" id="_CybersecurityRiskBoardOfDirectorsOversightTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">Senior IT leaders are
responsible for developing appropriate cybersecurity programs, including as may be required by applicable law or regulation. <ix:nonNumeric contextRef="c0" escape="true" name="cyd:CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock" id="ixv-16391">These individuals&#8217;
expertise in IT and cybersecurity generally has been gained from a combination of education, including relevant degrees and/or certifications,
and work experience.</ix:nonNumeric> They are informed by their respective cybersecurity teams about, and monitor, the prevention, detection, mitigation
and remediation of cybersecurity incidents as part of the cybersecurity programs described above.</p></ix:continuation><div>

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

</div><ix:continuation id="_CybersecurityRiskBoardOfDirectorsOversightTextBlock-c0_cont_3"><ix:nonNumeric contextRef="c0" escape="true" name="cyd:CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock" id="ixv-1440"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">Information regarding
cybersecurity risks may be elevated by IT leadership through a variety of channels, including discussions between or among key leaders
and Company management and reports to the Company&#8217;s <ix:nonNumeric contextRef="c0" format="ixt:fixed-true" name="cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag" id="ixv-16392">Board of Directors and/or certain Board committees.</ix:nonNumeric></p></ix:nonNumeric></ix:continuation><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><div><a id="a_006"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 2&#8212;PROPERTIES</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s manufacturing operations are
carried out at four facilities. The following table sets forth certain information regarding each of these facilities:</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: center">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Approximate <br/> Aggregate <br/> Usable <br/> Square Feet</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Status</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Segment</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 53%; text-align: justify">Newport, New Hampshire</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">350,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 15%; text-align: center">Owned</td><td style="width: 1%">&#160;</td>
    <td style="width: 15%; text-align: center">Firearms/Castings</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Prescott, Arizona</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">230,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">Leased</td><td>&#160;</td>
    <td style="text-align: center">Firearms</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Mayodan, North Carolina</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">220,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">Owned</td><td>&#160;</td>
    <td style="text-align: center">Firearms</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Earth City, Missouri</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">35,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: center">Leased</td><td>&#160;</td>
    <td style="text-align: center">Castings</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Each firearms facility contains enclosed ranges
for testing firearms. The lease of the Prescott facility provides for rental payments which are approximately equivalent to estimated
rates for real property taxes.</p><div>

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

</div><!-- Field: Page; Sequence: 18 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has other facilities that were not
used in its manufacturing operations in 2024:</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Approximate <br/>Aggregate <br/>
Usable <br/>Square Feet</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="vertical-align: bottom; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Status</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Segment</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 53%; text-align: justify; padding-left: 0pt">Southport, Connecticut</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">25,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 15%; text-align: center; padding-left: 4pt">Owned</td><td style="width: 1%">&#160;</td>
    <td style="width: 15%; text-align: center; padding-left: 4pt">Corporate</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-left: 0pt">Newport, New Hampshire (Dorr Woolen Building)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">45,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">Owned</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">Firearms</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-left: 0pt">Enfield, Connecticut</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">Leased</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">Firearms</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-left: 0pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-left: 0pt">Mayodan, North Carolina</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">225,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="vertical-align: bottom; text-align: center; padding-left: 4pt">Owned</td><td>&#160;</td>
    <td style="text-align: center; padding-left: 4pt">Firearms</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">There are no mortgages or any other major encumbrance
on any of the real estate owned by the Company.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s principal executive offices
are located in Southport, Connecticut.</p><div>

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

</div><div><a id="a_007"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 3&#8212;LEGAL PROCEEDINGS</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The nature of the legal proceedings against the
Company is discussed at Note 20 to the financial statements, which are included in this Form 10-K.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has reported all cases instituted
against it through September 28, 2024, and the results of those cases, where terminated, to the SEC on its previous Form 10-Q and 10-K
reports, to which reference is hereby made.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">There were no lawsuits formally instituted against the Company during
the three months ending December 31, 2024.</p><div>

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

</div><div><a id="a_008"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 4&#8212;MINE SAFETY DISCLOSURES &#8211; NOT APPLICABLE</b></p><div>

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

</div><!-- Field: Page; Sequence: 19 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><div><a id="a_009"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>PART II</b></p><div>

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

</div><div><a id="a_010"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-indent: -0.75in"><b>ITEM 5&#8212;MARKET FOR REGISTRANT'S
COMMON <span style="text-transform: uppercase">EQUITY,</span> RELATED STOCKHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY SECURITIES</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s common stock is traded on
the New York Stock Exchange under the symbol &#8220;RGR.&#8221; At February 5, 2025, the Company had 1,790 stockholders of record.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">Issuer Repurchase of Equity Securities</span></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, 2023 and 2024 the Company repurchased
shares of its common stock. Details of the purchases in 2022, 2023 and 2024 follow:</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap">Period</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Total <br/>
Number of <br/>
Shares <br/>
Purchased</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Average <br/>
Price Paid<br/>
 per Share</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Total <br/>
Number of <br/>
Shares<br/>
 Purchased <br/>
as Part of <br/>
Publicly<br/>
 Announced<br/>
 Program</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">Maximum <br/>
Dollar <br/>
Value of<br/>
 Shares that<br/>
 May Yet Be <br/>
Purchased <br/>
Under the<br/>
 Program</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 2.7pt">Third Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 16.2pt">July 3 to July 30</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 16.2pt">July 31 to August 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; width: 48%; padding-left: 16.2pt">August 28 to October 1</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right">2,136</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right">49.97</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right">2,136</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 2.7pt">Fourth Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 16.2pt">October 2 to October 29</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 16.2pt">October 30 to November 26</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,304</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">49.77</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,304</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 16.2pt">November 27 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 2.7pt">Fourth Quarter 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 16.2pt">October 1 to October 28</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 16.2pt">October 29 to November 25</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">179,341</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">45.20</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">179,341</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 16.2pt">November 26 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">84,721</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">43.67</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">84,721</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><!-- Field: Page; Sequence: 20 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: White; font-size: 10pt">
    <td style="border-top: Black 1pt solid; text-align: left">First Quarter 2024</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; padding-left: 0.3in">January 1 to January 27</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">7,317</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">43.42</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">7,317</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">January 28 to February 24</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,307</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">42.93</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,307</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">February 25 to March 30</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">47,400</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">42.79</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">47,400</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Second Quarter 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0.3in">March 31 to April 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">April 28 to May 25</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">28,924</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">42.92</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">28,924</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">May 26 to June 29</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">373,969</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">42.27</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">373,969</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Third Quarter 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0.3in">June 30 to July 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">156,517</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">41.27</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">156,517</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">July 28 to August 24</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">August 25 to September 28</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">64,325</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">40.66</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">64,325</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Fourth Quarter 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0.3in">September 29 to October 26</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,340</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">40.50</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,340</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">October 27 to November 23</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,129</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">39.50</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,129</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">November 23 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">72,832</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">34.81</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">72,832</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">Total</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,103,562</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">42.07</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,103,562</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">40,290,000</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">All of these purchases were made with cash held
by the Company and no debt was incurred.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2024 approximately $40.3 million
remained authorized for share repurchases.</p><div>

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

</div><!-- Field: Page; Sequence: 21 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;">
  <tr>
    <td style="border-top: Black 1pt solid; white-space: nowrap; width: 100%; border-right: black 1pt solid; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="clear: both; display: block;"><br/></span>
</span><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt">Comparison of Five-Year Cumulative Total Return*</span></td></tr>
  <tr>
    <td style="border-top: Black 1pt solid; border-right: black 1pt solid; border-bottom: Black 1pt solid; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif"><b>Sturm, Ruger &amp; Co., Inc., Standard &amp; Poor&#8217;s 500, Dow Jones US Recreational Products TSM Index, and Russell 2000 Index</b></span></td></tr>
  <tr>
    <td style="border-right: black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid; border-left: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif">(Performance Results Through 12/31/24)</span></td></tr>
  </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt">&#160;<img alt="" src="image_001.jpg"/></p><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">*Assumes $100 invested on 12/31/19 in stock or index, including reinvestment of dividends.</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-left: 0pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right">2019</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right">2020</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right">2021</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right">2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right">2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; width: 34%; text-align: left; padding-left: 0pt">Sturm, Ruger &amp; Company, Inc.</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 8%; text-align: right">100.00</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 8%; text-align: right">150.16</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 8%; text-align: right">164.09</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 8%; text-align: right">138.57</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 8%; text-align: right">127.41</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 8%; text-align: right">100.76</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 0pt">Standard &amp; Poors 500</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">100.00</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">118.40</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">152.39</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">124.79</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">157.59</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">197.02</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 0pt">Russell 2000 Index</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">100.00</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">119.96</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">137.74</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">109.59</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">128.14</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">142.93</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 0pt">Dow Jones US Recreational Products TSM</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">100.00</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">134.75</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">176.32</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">115.79</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">142.58</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">108.76</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>


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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For the year ended December 31, 2024, the Company
has provided the five year cumulative total return results for the Dow Jones US Recreational Products Index, a widely-published index
tracking companies that provide recreational products.<b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><div><a id="a_011"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 6&#8212;[RESERVED]</b></p><div>

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

</div><!-- Field: Page; Sequence: 22 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><div><a id="a_012"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-indent: -0.75in"><b>ITEM 7&#8212;MANAGEMENT'S DISCUSSION
AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</b></p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Company Overview</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Sturm, Ruger &amp; Company, Inc. (the &#8220;Company&#8221;)
is principally engaged in the design, manufacture, and sale of firearms to domestic customers. Approximately 99% of sales are from firearms.
Export sales represent approximately 5% of total sales. The Company&#8217;s design and manufacturing operations are located in the United
States and almost all product content is domestic. The Company&#8217;s firearms are sold through a select number of independent wholesale
distributors, principally to the commercial sporting market.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company also manufactures investment castings
made from steel alloys and metal injection molding (&#8220;MIM&#8221;) parts for internal use in its firearms and for sale to unaffiliated,
third-party customers. Less than 1% of sales are from the castings segment.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">Results of Operations - 2024</span></b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Product Demand</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The estimated sell-through of the Company&#8217;s
products from the independent distributors to retailers in 2024 increased 5% from 2023. In 2024, adjusted NICS decreased 4% from 2023.
The increase in the sell-through of the Company&#8217;s products despite the decrease in adjusted NICS background checks may be attributable
to new product introductions, like the Ruger American Rifle Generation II bolt-action rifles, the Marlin lever-action rifles, and the
RXM pistol, which helped offset aggressive promotions, discounts, rebates, and the extension of payment terms offered by the Company&#8217;s
competitors.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Estimated sell-through from distributors to retailers and total adjusted
NICS background checks:</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2024</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2022</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left">Estimated Units Sold from Distributors to Retailers (1)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,471,300</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,406,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,506,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total Adjusted NICS Background Checks (2)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,239,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,848,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,425,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(1)</td><td style="text-align: justify">The estimates for each period were calculated by taking the beginning inventory at the distributors, plus
shipments from the Company to distributors during the period, less the ending inventory at distributors. These estimates are only a proxy
for actual market demand as they:</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in"><b>&#160;</b></p><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 95.1pt"/><td style="width: 21.9pt"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Rely on data provided by independent distributors
that are not verified by the Company,</span></td></tr></table><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 95.1pt"/><td style="width: 21.9pt"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Do not consider potential timing issues within
the distribution channel, including goods-in-transit, and </span></td></tr></table><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 95.1pt"/><td style="width: 21.9pt"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Do not consider fluctuations in inventory at
retail.</span></td></tr></table><div>

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

</div><!-- Field: Page; Sequence: 23 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(2)</td><td style="text-align: justify">NICS background checks are performed when the ownership of most firearms, either new or used, is transferred
by a Federal Firearms Licensee. NICS background checks are also performed for permit applications, permit renewals, and other administrative
reasons. &#160;</td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify">The adjusted NICS data presented above
was derived by the NSSF by subtracting NICS checks that are not directly related to the sale of a firearm, including checks used for concealed
carry (&#8220;CCW&#8221;) permit application checks as well as checks on active CCW permit databases.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify">Adjusted NICS data can be impacted by
changes in state laws and regulations and any directives and interpretations issued by governmental agencies.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Orders Received and Ending Backlog</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company uses the estimated unit sell-through
of its products from the independent distributors to retailers, along with inventory levels at the independent distributors and at the
Company, as the key metrics for planning production levels.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The units ordered, value of orders received and ending backlog, net
of Federal Excise Tax, for the trailing three years are as follows (dollars in millions, except average sales price):</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2024</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2022</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">Orders Received</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">533.3</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">433.8</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">451.2</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Average Sales Price of Orders Received</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">377</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">374</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">416</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">252.9</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">229.0</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">314.4</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Average Sales Price of Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">568</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">522</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">486</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company reviews the estimated sell-through
from the independent distributors to retailers, as well as inventory levels at the independent distributors and at the Company, to plan
production levels and manage inventories. These reviews resulted in a decrease in total unit production of 1% in 2024 compared to 2023.</p><div>

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

</div><!-- Field: Page; Sequence: 24 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->24<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Annual Summary Unit Data</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Firearms unit data for orders, production, and
shipments follows:</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2024</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2022</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">Units Ordered</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,414,300</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,159,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,083,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Produced</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,379,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,398,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,733,200</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Shipped</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,407,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,367,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,641,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">377</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">395</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">362</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units &#8211; Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">445,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">438,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">647,300</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s finished goods inventory decreased
by 28,300 units during 2024, while <span style="font-family: Times New Roman, Times, Serif">distributor inventories of the Company&#8217;s
products decreased by 63,500 units during the same period. </span></p><div>

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

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

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="border-bottom: Black 1pt solid; text-align: justify; padding-left: 5.4pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">2024</td><td style="border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">2023</td><td style="border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">2022</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify; padding-left: 5.4pt">Units &#8211; Company Inventory</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">115,200</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">143,500</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">112,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: justify; padding-left: 5.4pt">Units &#8211; Distributor Inventory (3)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">195,800</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">259,300</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">298,400</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: justify; padding-left: 5.4pt">Total inventory (4)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">311,000</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">402,800</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">411,200</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(3)</td><td style="text-align: justify">Distributor ending inventory as provided by the independent distributors of the Company&#8217;s products.
These numbers do not include goods-in-transit inventory that has been shipped from the Company but not yet received by the distributors.</td></tr></table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(4)</td><td style="text-align: justify">This total does not include inventory at retailers. The Company does not have access to data on retailer
inventories.</td></tr></table><div>

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

</div><!-- Field: Page; Sequence: 25 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->25<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>Year ended December 31, 2024, as compared to year ended December
31, 2023:</i></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Net Sales, Cost of Products Sold, and Gross
Profit</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif">Net
sales, c</span>ost of products sold, and gross profit data for the year ended (dollars in millions):</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">December<br/>
 31, 2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">December<br/>
 31, 2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">% Change</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: left">Net firearms sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">532.6</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">540.7</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(8.1</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(1.5</td><td style="white-space: nowrap; width: 1%; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Net casting sales</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3.0</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3.0</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">0.0</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">0.5</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total net sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">535.6</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">543.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(8.1</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1.5</td><td style="white-space: nowrap; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Cost of products sold</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">421.2</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">410.1</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">11.1</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2.7</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Gross profit</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">114.4</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">133.6</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(19.2</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">(14.4</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross margin</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">21.4%</td><td style="white-space: nowrap; text-align: left"/><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24.6%</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3.2</td><td style="white-space: nowrap; text-align: left">)%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(13.0</td><td style="white-space: nowrap; text-align: left">)%</td></tr>
  </table><div>


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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Firearms sales decreased 2% and unit shipments
increased 3%, respectively, in 2024. New products represented $159.3 million or 32% of firearms sales in 2024, an increase from $119.0
million or 23% of firearms sales in 2023. New product sales include only major new products that were introduced in the past two years.
In 2024, new products included the RXM pistol, American Centerfire Rifle Generation II, Marlin 1894 lever-action rifles, Security-380
pistol, Super Wrangler revolver, LC Carbine, and the Small-Frame Autoloading Rifle and the Marlin 1895 Marlin lever-action rifles, which
were only included for a portion of the year.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
decreased gross profit for the year ended December 31, 2024 is attributable to the decrease in sales</span>, unfavorable deleveraging
of fixed costs resulting from decreased production, and a product mix shift toward products with relatively lower margins that remain
in stronger demand.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The decrease in gross margin for the year ended
December 31, 2024 is attributable to the aforementioned factors, partially offset by increased pricing.</p><div>

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

</div><!-- Field: Page; Sequence: 26 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->26<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Selling, General and Administrative</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Selling and general and administrative expenses data for the year ended
(dollars in millions):</p><div>

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

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="vertical-align: bottom; text-align: center; padding-bottom: 1pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">December<br/>
 31, 2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">December<br/>
 31, 2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">% Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: left">Selling expenses</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">38.8</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">38.8</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">&#8212;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(0.1%</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">General and administrative expenses</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">44.0</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">42.7</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1.3</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3.0%</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total operating expenses</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">82.8</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">81.5</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1.3</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">1.5%</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Selling expenses for the year ended December 31,
2024 were substantially unchanged from 2023, as increased spending on advertising was offset by modest reductions in several selling and
marketing initiatives.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
increase in general, and administrative expenses for the year ended December 31, 2024 was primarily attributable to increased professional
service costs and </span>accrued severances of $1.5 million taken in the first quarter of 2024 related to a reduction in force involving
approximately 80 employees. These increases were partially offset by a reduction in incentive compensation expenses. The aforementioned
accrued severances were settled in cash and consist of one-time termination charges arising from severance obligations and other customary
employee benefit payments in connection with a <span style="font-family: Times New Roman, Times, Serif">reduction</span> in force.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Operating Income</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Operating income was $31.6 million or 5.9% of
sales in 2024. This is a decrease of $20.4 million from 2023 operating income of $52.1 million or 9.6% of sales.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Other Operating Income (Expense), Net</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in">Other income data for the year ended (dollars in millions):</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in">&#160;</p><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">December <br/>
31, 2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">December<br/>
 31, 2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">% Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 48%; text-align: left">Royalty income</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right">0.8</td><td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right">0.6</td><td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">$</td><td style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right">0.2</td><td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 1%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1%; text-align: left">&#160;</td><td style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: right">30.2%</td><td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Interest income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4.9</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5.5</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(0.6</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(10.6%</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(0.1</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(0.2</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.1</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(50.2%</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Other income, net</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">0.5</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">0.8</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(0.3</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(41.5%</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Other income</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6.1</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6.7</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(0.6</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">(10.0%</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">)</td></tr>
  </table><div>

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

</div><!-- Field: Page; Sequence: 27 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->27<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The decrease in other income for the year ended
December 31, 2024 was primarily the result of decreases in interest income due to decreased interest rates earned on short-term investments
and other income, partially offset by increased royalty.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Income Taxes and Net Income</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
effective income tax rate was 19.1% in 2024 and 18.0% in 2023. </span>The Company's 2024 and 2023 effective tax rates differ from the
statutory federal tax rate due principally to research and development tax credits, state income taxes, and the nondeductibility of certain
executive compensation.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As a result of the foregoing factors, consolidated
net income was $30.6 million in 2024. This represents a decrease of $17.6 million from 2023 consolidated net income of $48.2 million.</p><div>

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

</div><!-- Field: Page; Sequence: 28 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->28<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Non-GAAP Financial Measure</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In an effort to provide investors with additional
information regarding its results, the Company refers to various United States generally accepted accounting principles (&#8220;GAAP&#8221;)
financial measures and two non-GAAP financial measures, EBITDA and EBITDA margin, which management believes provides useful information
to investors. These non-GAAP measures may not be comparable to similarly titled measures being disclosed by other companies. In addition,
the Company believes that the non-GAAP financial measures should be considered in addition to, and not in lieu of, GAAP financial measures.
The Company believes that EBITDA and EBITDA margin are useful to understanding its operating results and the ongoing performance of its
underlying business, as EBITDA provides information on the Company&#8217;s ability to meet its capital expenditure and working capital
requirements, and is also an indicator of profitability. The Company believes that this reporting provides better transparency and comparability
to its operating results. The Company uses both GAAP and non-GAAP financial measures to evaluate its financial performance.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Non-GAAP Reconciliation &#8211; EBITDA</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>(Unaudited, dollars in thousands)</i></p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap">Year ended December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Net income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">30,563</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">48,215</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,212</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,609</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Depreciation and amortization expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">22,063</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">22,383</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">102</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">205</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Interest income</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(4,885</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,465</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">EBITDA</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">55,055</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">75,947</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">EBITDA margin</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">10.3%</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">14.0%</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Net income margin</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">5.7%</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8.9%</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">EBITDA is defined as earnings before interest,
taxes, and depreciation and amortization. The Company calculates this by adding the amount of interest expense, income tax expense and
depreciation and amortization expenses that have been deducted from net income back into net income, and subtracting the amount of interest
income that was included in net income from net income to arrive at EBITDA. The Company&#8217;s EBITDA calculation also excludes any one-time
non-cash, non-operating expense.</p><div>

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

</div><!-- Field: Page; Sequence: 29 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->29<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">To supplement the summary annual unit data and
discussion above, the same data for the last eight quarters follows:</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2024</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">Q4</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">Q3</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">Q2</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">Q1</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 48%; text-align: justify">Units Ordered</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">374,300</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">316,900</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">250,500</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">472,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Units Produced</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">364,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">330,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">370,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">314,500</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Units Shipped</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">398,700</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">327,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">336,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">345,400</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Estimated Units Sold from Distributors to Retailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">410,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">336,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">327,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">396,700</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Total Adjusted NICS Background Checks</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,460,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,432,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,364,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,983,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Average Unit Sales Price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">364</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">371</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">386</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">394</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Units &#8211; Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">445,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">469,700</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">480,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">566,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Company Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">115,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">149,600</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">146,700</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">112,600</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Distributor Inventory (5)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">195,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">207,600</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">216,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">208,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q4</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q3</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q2</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q1</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Units Ordered</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">316,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">176,300</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">258,100</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">408,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Produced</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">305,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">324,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">387,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">381,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Shipped</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">337,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">308,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">336,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">384,900</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Estimated Units Sold from Distributors to Retailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">384,700</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">307,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">323,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">391,500</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Total Adjusted NICS Background Checks</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,742,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,284,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,654,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,168,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Unit Sales Price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">383</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">390</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">422</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">387</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units &#8211; Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">438,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">460,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">592,100</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">670,400</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Company Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">143,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">176,100</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">108,900</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Distributor Inventory (5)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">259,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">306,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">305,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">291,800</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><!-- Field: Page; Sequence: 30 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->30<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 4.5pt"/><td style="width: 31.5pt">(5)</td><td>Distributor ending inventory as provided by the independent distributors of the Company&#8217;s products.</td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 13.5pt; text-align: justify; text-indent: -13.5pt">(in millions
except average sales price, net of Federal Excise Tax)</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2024</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q4</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q3</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q2</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q1</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Orders Received</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">126.3</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">109.4</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">99.5</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">198.2</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Orders Received</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">337</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">345</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">397</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">419</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">252.9</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">268.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">272.2</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">296.2</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">568</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">572</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">567</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">523</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q4</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q3</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q2</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q1</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Orders Received</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">116.7</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">58.8</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">102.1</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">156.2</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Orders Received</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">369</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">334</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">396</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">383</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">229.0</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">234.8</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">293.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">327.3</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">522</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">510</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">496</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">488</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Fourth Quarter Net Sales and Gross Profit Analysis</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Net sales, cost of products sold, and gross profit
data for the three months ended (dollars in millions):</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="vertical-align: bottom; text-align: center; padding-bottom: 1pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">December 31, <br/> 2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">December 31, <br/> 2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">% Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: left">Net firearms sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">145.3</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">129.6</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">15.7</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">12.1</td><td style="white-space: nowrap; width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Net casting sales</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">0.5</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1.0</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(0.5</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(47.6</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total net sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">145.8</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">130.6</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15.2</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11.6</td><td style="white-space: nowrap; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Cost of products sold</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">112.6</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">98.3</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">14.3</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">14.5</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Gross profit</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">33.2</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">32.3</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.9</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">2.9</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross margin</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">22.8</td><td style="white-space: nowrap; text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24.7</td><td style="white-space: nowrap; text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1.9</td><td style="white-space: nowrap; text-align: left">)%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(7.7</td><td style="white-space: nowrap; text-align: left">)%</td></tr>
  </table><div>


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

</div><!-- Field: Page; Sequence: 31 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->31<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Year ended December 31, 2023, as compared to
year ended December 31, 2022</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Annual Summary Unit Data</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Firearms unit data for orders, production, shipments and ending inventory,
and castings setups (a measure of foundry production) are as follows:</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2021</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">Units Ordered</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,159,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,083,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,835,500</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Produced</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,398,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,733,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,154,600</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Shipped</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,367,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,641,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,142,900</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">395</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">362</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">340</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units &#8211; Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">438,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">647,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,204,500</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units &#8211; Company Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">143,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">112,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,600</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units &#8211; Distributor Inventory (1)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">259,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">298,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">164,200</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Castings Setups</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">71,415</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">55,971</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">68,469</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Orders Received and Ending Backlog</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">(in millions except average sales price, net of
Federal Excise Tax):</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2021</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">Orders Received</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">433.8</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">451.2</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">606.5</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Average Sales Price of Orders Received (2)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">374</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">416</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">330</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">229.0</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">314.4</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">429.7</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Average Sales Price of Ending Backlog (2)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">522</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">486</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">357</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 4.5pt 0pt 0">&#160;</p><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(1)</td><td style="text-align: justify">Distributor ending inventory as provided by the independent distributors of the Company&#8217;s products.</td></tr></table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(2)</td><td style="text-align: justify">Average sales price for orders received and ending backlog is net of Federal Excise Tax of 10% for handguns
and 11% for long guns.</td></tr></table><div>

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

</div><!-- Field: Page; Sequence: 32 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->32<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Product Demand</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The estimated sell-through of the Company&#8217;s
products from the independent distributors to retailers in 2023 decreased 7% from 2022. For the same period, adjusted NICS decreased 4%.
The greater reduction in the sell-through of the Company&#8217;s products relative to adjusted NICS background checks may be attributable
to aggressive promotions, discounts, rebates, and the extension of payment terms offered by the Company&#8217;s competitors.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Estimated sell-through from distributors to retailers and total adjusted
NICS background checks:</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2021</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left">Estimated Units Sold from Distributors to Retailers (1)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,406,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,506,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">2,017,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total Adjusted NICS Background Checks (2)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">15,848,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,425,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,515,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(1)</td><td style="text-align: justify">The estimates for each period were calculated by taking the beginning inventory at the distributors, plus
shipments from the Company to distributors during the period, less the ending inventory at distributors. These estimates are only a proxy
for actual market demand as they:</td></tr></table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in"><b>&#160;</b></p><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 95.1pt"/><td style="width: 21.9pt"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Rely on data provided by independent distributors
that are not verified by the Company,</span></td></tr></table><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 95.1pt"/><td style="width: 21.9pt"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Do not consider potential timing issues within
the distribution channel, including goods-in-transit, and </span></td></tr></table><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 95.1pt"/><td style="width: 21.9pt"><span>&#9679;</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Do not consider fluctuations in inventory at
retail.</span></td></tr></table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.5in"/><td style="width: 0.5in">(2)</td><td style="text-align: justify">NICS background checks are performed when the ownership of most firearms, either new or used, is transferred
by a Federal Firearms Licensee. NICS background checks are also performed for permit applications, permit renewals, and other administrative
reasons. &#160;</td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify">The adjusted NICS data presented above
was derived by the NSSF by subtracting NICS checks that are not directly related to the sale of a firearm, including checks used for concealed
carry (&#8220;CCW&#8221;) permit application checks as well as checks on active CCW permit databases.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in; text-align: justify">Adjusted NICS data can be impacted by
changes in state laws and regulations and any directives and interpretations issued by governmental agencies.</p><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company reviews the estimated sell-through
from the independent distributors to retailers, as well as inventory levels at the independent distributors and at the Company, to plan
production </p><div>

</div><!-- Field: Page; Sequence: 33 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->33<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">levels and manage inventories. These reviews resulted in a decrease in total unit production of 19% in 2023 compared to 2022.</p><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s finished goods inventory increased
by 30,700 units during 2023.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Distributor
inventories of the Company&#8217;s products decreased by 39,100 units during 2023, and approximate a reasonable level to support rapid
fulfillment of retailer demand</span> for most product families<span style="font-family: Times New Roman, Times, Serif">. </span></p><div>

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

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

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2023</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2022</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2021</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">Units &#8211; Company Inventory</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">143,500</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">112,800</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">20,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Units &#8211; Distributor Inventory (3)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">259,300</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">298,400</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">164,200</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Total inventory (4)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">402,800</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">411,200</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">184,800</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;"><tr style="vertical-align: top">
<td style="width: 0.5in">(3)</td><td style="text-align: justify">Distributor ending inventory as provided by the independent distributors of the Company&#8217;s products.
These numbers do not include goods-in-transit inventory that has been shipped from the Company but not yet received by the distributors.</td></tr></table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;"><tr style="vertical-align: top">
<td style="width: 0.5in">(4)</td><td style="text-align: justify">This total does not include inventory at retailers. The Company does not have access to data on retailer
inventories.</td></tr></table><div>

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

</div><!-- Field: Page; Sequence: 34 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->34<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">To supplement the summary annual unit data and
discussion above, the same data for the last eight quarters follows:</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify; padding-bottom: 1pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">Q4</span></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">Q3</span></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">Q2</span></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif">Q1</span></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Units Ordered</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">316,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">176,300</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">258,100</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">408,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Produced</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">305,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">324,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">387,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">381,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Shipped</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">337,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">308,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">336,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">384,900</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Estimated Units Sold from Distributors to Retailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">384,700</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">307,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">323,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">391,500</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Total Adjusted NICS BackgroundChecks</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,742,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,284,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,654,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,168,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Unit Sales Price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">383</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">390</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">422</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">387</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units &#8211; Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">438,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">460,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">592,100</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">670,400</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Company Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">143,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">176,100</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">108,900</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Distributor Inventory (5)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">259,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">306,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">305,200</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">291,800</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q4</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q3</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q2</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q1</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Units Ordered</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">156,000</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">295,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">250,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">381,600</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Produced</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">397,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">382,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">431,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">521,300</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units Shipped</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">393,100</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">373,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">382,600</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">491,500</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Estimated Units Sold from Distributors to Retailers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">397,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">343,500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">354,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">411,200</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Total Adjusted NICS BackgroundChecks</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,531,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,764,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,917,000</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,213,000</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Unit Sales Price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">378</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">371</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">366</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">338</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Units &#8211; Backlog</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">647,300</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">884,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">962,600</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,094,600</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Company Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">112,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">108,600</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">99,700</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">50,400</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; text-indent: -14.15pt; padding-left: 14.15pt">Units &#8211; Distributor Inventory (5)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">298,400</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">303,100</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">272,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">244,600</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><!-- Field: Page; Sequence: 35 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->35<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 4.5pt"/><td style="width: 31.5pt">(5)</td><td>Distributor ending inventory as provided by the independent distributors of the Company&#8217;s products.</td></tr></table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 13.5pt; text-align: justify; text-indent: -13.5pt">(in millions
except average sales price, net of Federal Excise Tax)</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q4</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q3</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q2</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q1</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Orders Received</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">116.7</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">58.8</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">102.1</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">156.2</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Orders Received</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">369</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">334</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">396</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">383</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">229.0</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">234.8</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">293.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">327.3</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">522</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">510</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">496</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">488</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2022</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q4</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q3</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q2</td><td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">Q1</td><td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: justify">Orders Received</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">81.0</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">124.3</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">98.9</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">147.0</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Orders Received</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">519</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">421</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">395</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">385</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">314.4</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">377.6</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">389.6</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">420.5</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Average Sales Price of Ending Backlog</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">486</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">427</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">405</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">384</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Net Sales, Cost of Products Sold, and Gross
Profit</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif">Net
sales, c</span>ost of products sold, and gross profit data for the year ended (dollars in millions):</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="vertical-align: bottom; text-align: center; padding-bottom: 1pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">December 31, <br/>
2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">December 31, <br/>
2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">% Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: left">Net firearms sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">540.7</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">593.3</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(52.6</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(8.9</td><td style="white-space: nowrap; width: 1%; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Net casting sales</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3.0</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2.5</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">0.5</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">18.3</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total net sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">543.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">595.8</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(52.1</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(8.7</td><td style="white-space: nowrap; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">Cost of products sold</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">410.1</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">415.7</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5.6</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1.3</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Gross profit</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">133.6</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">180.1</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(46.5</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">(25.8</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">)%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross margin</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24.6</td><td style="white-space: nowrap; text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">30.2</td><td style="white-space: nowrap; text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(5.6</td><td style="white-space: nowrap; text-align: left">)%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(18.5</td><td style="white-space: nowrap; text-align: left">)%</td></tr>
  </table><div>

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

</div><!-- Field: Page; Sequence: 36 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->36<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Firearms sales and unit shipments decreased 9%
and 17%, respectively, in 2023. New products represented $119.0 million or 23% of firearms sales in 2023, an increase from $78.4 million
or 14% of firearms sales in 2022. New product sales include only major new products that were introduced in the past two years. In 2023,
new products included the MAX-9 pistol (during the first quarter only), Security-380 pistol, Super Wrangler revolver, LCP MAX pistol,
Marlin lever-action rifles, LC Carbine, Small-Frame Autoloading Rifle, and American Centerfire Rifle Generation II.</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
decreased gross profit for the year ended December 31, 2023 is attributable to the significant decrease in sales</span>, as well as unfavorable
deleveraging of fixed costs resulting from decreased production, a product mix shift toward products with relatively lower margins that
remain in stronger demand, and increased promotional costs.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The decrease in gross margin for the year ended
December 31, 2023 is attributable to the aforementioned factors, partially offset by increased pricing.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Selling, General and Administrative</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Selling and general and administrative expenses data for the year ended
(dollars in millions):</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="vertical-align: bottom; text-align: center; padding-bottom: 1pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">December <br/>
31, 2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">December <br/>
31, 2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">&#160;</td><td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; text-align: center">% Change</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: left">Selling expenses</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">38.8</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">36.1</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2.7</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">7.4</td><td style="white-space: nowrap; width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt">General and administrative expenses</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">42.7</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">40.5</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2.2</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">5.4</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total operating expenses</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">81.5</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">76.6</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">4.9</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">6.4</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">%</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The increase in selling expenses for the year
ended December 31, 2023 was primarily attributable to increased trade show costs, travel expenditures, and advertising, partially offset
by decreased sales volume.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The increase in general, and administrative expenses
for the year ended December 31, 2023 was primarily attributable to increased professional service costs.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Operating Income</span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Operating income was $52.1 million or 9.6% of
sales in 2023. This is a decrease of $51.4 million from 2022 operating income of $103.5 million or 17.3% of sales.</p><div>

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

</div><!-- Field: Page; Sequence: 37 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->37<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Other Operating Income (Expense), Net</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in">Other income data for the year ended (dollars in millions):</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in">&#160;</p><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">December <br/>
31, 2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">December <br/>
31, 2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">Change</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; vertical-align: bottom; white-space: nowrap; text-align: center">% Change</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: left">Royalty income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">0.6</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">0.8</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(0.2</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(21.4</td><td style="white-space: nowrap; width: 1%; text-align: left">%)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Interest income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5.5</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.6</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.9</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">114.1</td><td style="white-space: nowrap; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(0.2</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(0.3</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.1</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(19.9</td><td style="white-space: nowrap; text-align: left">%)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Other income, net</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">0.8</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1.7</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(0.9</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(51.4</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">%)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Other income</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6.7</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">4.8</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1.9</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">39.7</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">%</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The increase in other income for the year ended
December 31, 2023 was the result of increases in interest income due to increased interest rates earned on short-term investments, partially
offset by decreased royalty and other income.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Income Taxes and Net Income</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">The
effective income tax rate was 18.0% in 2023 and 18.4% in 2022. </span>The Company's 2023 and 2022 effective tax rate differs from the
statutory federal tax rate due principally to the availability of research and development tax credits, state income taxes, and the nondeductibility
of certain executive compensation. The impact related to research and development tax credits on the effective tax rate is expected to
decline in future years.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As a result of the foregoing factors, consolidated
net income was $48.2 million in 2023. This represents a decrease of $40.1 million from 2022 consolidated net income of $88.3 million.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Non-GAAP Financial Measure</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In an effort to provide investors with additional
information regarding its results, the Company refers to various United States generally accepted accounting principles (&#8220;GAAP&#8221;)
financial measures and two non-GAAP financial measures, EBITDA and EBITDA margin, which management believes provides useful information
to investors. These non-GAAP measures may not be comparable to similarly titled measures being disclosed by other companies. In addition,
the Company believes that the non-GAAP financial measures should be considered in addition to, and not in lieu of, GAAP financial measures.
The Company believes that EBITDA and EBITDA margin are useful to understanding its operating results and the ongoing performance of its
underlying business, as EBITDA provides information on the Company&#8217;s ability to meet its capital expenditure and working capital
requirements, and is also an indicator of profitability. The Company believes that this reporting provides better transparency and comparability
to its operating results. The Company uses both GAAP and non-GAAP financial measures to evaluate its financial performance.</p><div>

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

</div><!-- Field: Page; Sequence: 38 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->38<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Non-GAAP Reconciliation &#8211; EBITDA</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>(Unaudited, dollars in thousands)</i></p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; font-size: 8pt; font-style: italic">Year ended December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; font-size: 8pt; font-weight: bold; text-align: right">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-size: 8pt; font-weight: bold">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-size: 8pt">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; white-space: nowrap; font-size: 8pt; text-align: right">2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-size: 8pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Net income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">48,215</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">88,332</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,609</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">19,947</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Depreciation and amortization expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">22,383</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">25,789</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">205</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">256</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Interest income</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,465</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,552</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">EBITDA</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">75,947</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">131,772</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">EBITDA margin</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">14.0%</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">22.1%</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Net income margin</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8.9%</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">14.8%</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>


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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">EBITDA is defined as earnings before interest,
taxes, and depreciation and amortization. The Company calculates this by adding the amount of interest expense, income tax expense and
depreciation and amortization expenses that have been deducted from net income back into net income, and subtracting the amount of interest
income that was included in net income from net income to arrive at EBITDA. The Company&#8217;s EBITDA calculation also excludes any one-time
non-cash, non-operating expense.</p><div>

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

</div><!-- Field: Page; Sequence: 39 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->39<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Liquidity</span></span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">At
December 31, 2024, the Company had cash and cash equivalents of $10.0 million and $95.5 million in short term investments. The Company&#8217;s
pre-LIFO working capital of $264.1 million, less the LIFO reserve of $66.4 million, resulted in working capital of $197.7 million and
a current ratio of 4.2 to 1. </span>The Company also has access to a $40 million unsecured revolving line of credit that is currently
undrawn.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Capital Resources</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company believes that its cash flow from operations,
current cash position, and access to capital markets will continue to be sufficient to meet its anticipated cash requirements and contractual
obligations, which includes funding the Company&#8217;s capital expenditures, acquisitions, dividend payments, and share repurchases.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Operations</span></span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Cash provided by operating activities was $55.5
million, $33.9 million, and $77.2 million in 2024, 2023, and 2022, respectively. The increase in cash provided in 2024 compared to 2023
is primarily attributable to the decrease in inventory in 2024 compared to the increase in 2023, and the reduction in prepaid and other
assets compared to increases in those accounts in 2023, partially offset by reduced income in 2024.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The decrease in cash provided in 2023 compared
to 2022 is primarily attributable to the decrease in net income in 2023.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Third parties supply the Company with various
raw materials for its firearms and castings, such as fabricated steel components, walnut, birch, beech, maple and laminated lumber for
rifle stocks, wax, ceramic material, metal alloys, various synthetic products and other component parts. There is a limited supply of
these materials in the marketplace at any given time, which can cause the purchase prices to vary based upon numerous market factors.
If market conditions result in a significant prolonged inflation of certain prices or if adequate quantities of raw materials cannot be
obtained, the Company&#8217;s manufacturing processes could be interrupted and the Company&#8217;s financial condition or results of operations
could be materially adversely affected.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Investing
and Financing</span></span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Capital expenditures were $20.8 million, $15.8
million, and $27.7 million in 2024, 2023, and 2022, respectively. In 2025, the Company expects capital expenditures to approximate $20
million, much of which will relate to tooling and fixtures for new product introductions and to upgrade and modernize manufacturing equipment.
Due to market conditions and business circumstances, actual capital expenditures could vary significantly from the budgeted amount. The
Company finances, and intends to continue to finance, all of these activities with funds provided by operations and current cash.</p><div>

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

</div><!-- Field: Page; Sequence: 40 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->40<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Included in capital expenditures amount noted
above, on October 3, 2022 the Company purchased a 225,000 square foot facility, which it had previously been leasing, in Mayodan, North
Carolina for $8.3 million for use in its manufacturing and warehousing operations.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">As
of December 31, 2024, the Company had $62.5 million of United States Treasury instruments which mature within one year. </span>The Company
also invests available cash in a bank-managed money market fund that invests exclusively in United States Treasury instruments which mature
within one year. At December 31, 2024, the Company&#8217;s investment in this money market fund totaled $33.0 million.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, the Company repurchased 835,060 shares
of its common stock for $34.4 million in the open market. The average price per share purchased was $41.19. These purchases were funded
with cash on hand.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in">In 2023, the Company repurchased
264,062 shares of its common stock for $11.8 million in the open market. The average price per share purchased was $44.71. These purchases
were funded with cash on hand.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in">In 2022, the Company repurchased
4,440 shares of its common stock for $0.2 million in the open market. The average price per share purchased was $49.87. These purchases
were funded with cash on hand.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2024, approximately $40.3 million
remained authorized for future share repurchases<i>.</i></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On January 5, 2023, the Company paid a $5.00 per
share special dividend to shareholders of record on December 15, 2022.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Including the $5.00 per share special dividend
paid on January 5, 2023, the Company paid dividends totaling $11.8 million, $110.8 million, and $42.7 million in 2024, 2023, and 2022,
respectively. The quarterly dividend varies every quarter because the Company pays a percentage of earnings rather than a fixed amount
per share. The Company&#8217;s practice is to pay a dividend of approximately 40% of net income.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On February 14, 2025, the Company&#8217;s Board
of Directors authorized a dividend of 24&#162; per share to shareholders of record on March 14, 2025. The payment of future dividends
depends on many factors, including internal estimates of future performance, then-current cash, and the Company&#8217;s need for funds.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company provides supplemental discretionary
contributions to substantially all employees&#8217; individual 401(k) accounts.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Based on its unencumbered assets, the Company
believes it has the ability to raise cash through issuance of short-term or long-term debt.</p><div>

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

</div><!-- Field: Page; Sequence: 41 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->41<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Contractual
Obligations</span></span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2024, the Company had approximately
$37.5 million in agreements to purchase goods or services that are enforceable and legally binding on the Company, all of which are expected
to be settled in less than one year. Additionally, the Company has approximately $2.8 million in operating lease obligations, which will
be payable through 2034. The Company expects to fund all of these commitments with cash flows from operations and current cash.</p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in"><span style="text-decoration:underline">Firearms Legislation
and Litigation</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">See Item 1A - Risk Factors and Note 20 to the
financial statements which are included in the Annual Report on Form 10-K for a discussion of firearms legislation and litigation.</p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0in"><span style="text-decoration:underline">Other Operational Matters</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In the normal course of its manufacturing operations,
the Company is subject to occasional governmental proceedings and orders pertaining to workplace safety, firearms serial number tracking
and control, waste disposal, air emissions and water discharges into the environment. The Company believes that it is generally in compliance
with applicable Bureau of Alcohol, Tobacco, Firearms &amp; Explosives, environmental, and safety regulations and the outcome of any proceedings
or orders will not have a material adverse effect on the financial position or results of operations of the Company. If these regulations
become more stringent in the future and we are not able to comply with them, such noncompliance could have a material adverse impact on
the Company.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Currently, there are 14 domestic distributors.
Additionally, the Company has 44 and 26 distributors servicing the export and law enforcement markets, respectively.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company self-insures a significant amount
of its product liability, workers&#8217; compensation, medical, and other insurance. It also carries significant deductible amounts on
various insurance policies.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company expects to realize its deferred tax
assets through tax deductions against future taxable income.</p><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The preparation of financial statements in accordance
with accounting principles generally accepted in the United States requires management to make assumptions and estimates that affect the
reported amounts of assets and liabilities as of the balance sheet date and net sales and expenses recognized and incurred during the
reporting period then ended. The Company bases estimates on prior experience, facts and circumstances, and other assumptions, including
those reviewed with actuarial consultants and independent counsel, when applicable, that are believed to be reasonable. However, actual
results may differ from these estimates.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><br/>
The Company believes that the assumptions and judgments involved in the accounting estimates below have the greatest potential impact
on its financial statements, so the Company believes these </p><div>

</div><!-- Field: Page; Sequence: 42 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->42<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">to be its critical accounting estimates. The methodologies applied for determining
the estimates related to the below critical accounting estimates have not changed from the prior year.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Product Liability Accrual</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company believes the determination of its
product liability accrual is a critical accounting policy. The Company&#8217;s management reviews every lawsuit and claim and is in contact
with independent and corporate counsel on an ongoing basis. The provision for product liability claims is based upon many factors, which
vary for each case. These factors include the type of claim, nature and extent of injuries, historical settlement ranges, jurisdiction
where filed, and advice of counsel. An accrual is established for each lawsuit and claim, when appropriate, based on the nature of each
such lawsuit or claim.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Amounts are charged to product liability expense
in the period in which the Company becomes aware that a claim or, in some instances a threat of a claim, has been made when potential
losses or costs of defense are probable and can be reasonably estimated. Such amounts are determined based on the Company&#8217;s experience
in defending similar claims. Occasionally, charges are made for claims made in prior periods because the cumulative actual costs incurred
for that claim, or reasonably expected to be incurred in the future, exceed amounts already provided with respect to such claims. Likewise,
credits may be taken if cumulative actual costs incurred for that claim, or reasonably expected to be incurred in the future, are less
than amounts previously provided.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">While it is not possible to forecast the outcome
of litigation or the timing of related costs, in the opinion of management, after consultation with independent and corporate counsel,
there is a remote likelihood that litigation, including punitive damage claims, will have a material adverse effect on the financial position
of the Company, but such litigation may have a material impact on the Company&#8217;s financial results and cash flows for a particular
period.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Inventory Valuation and Reserves</span></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company believes the valuation of its inventory
and the related excess and obsolescence reserve is also a critical accounting policy. Inventories are carried at the lower of cost, principally
determined by the last-in, first-out (LIFO) method, or market. An actual valuation of inventory under the LIFO method is made at the end
of each year based on the inventory levels and the Company&#8217;s estimates of the prevailing costs of the many components of inventory
existing at that time.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company determines its excess and obsolescence
reserve by projecting the year in which inventory will be consumed into a finished product. Given ever-changing market conditions, customer
preferences and the anticipated introduction of new products, projecting the future usage of inventory is subjective. As such, it does
not seem prudent to carry inventory at full cost beyond what the Company projects to be needed during the next 36 months.</p><div>

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

</div><!-- Field: Page; Sequence: 43 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->43<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In November of 2023, the FASB issued ASU 2023-07,
&#8220;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#8221; The updated accounting guidance requires
enhanced reportable segment disclosures, primarily related to significant segment expenses which are regularly provided to the chief operating
decision maker. The guidance is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning
after December 15, 2024. The Company adopted ASU 2023-07, beginning with the current filing. The adoption of the new guidance required
additional disclosures, but did not have a material impact to the Company. Refer to Note 17, Operating Segment Information, for the updated
presentation</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In December of 2023, the FASB issued ASU 2023-09,
&#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#8221; The updated accounting guidance requires expanded income
tax disclosures, including the disaggregation of existing disclosures related to the effective tax rate reconciliation and income taxes
paid. The guidance is effective for fiscal years beginning after December 15, 2024. Prospective application is required, with retrospective
application permitted. The Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In November 2024, the FASB issued ASU No. 2024-03,
&#8220;Income Statement&#8212;Reporting Comprehensive Income&#8212;Expense Disaggregation Disclosures,&#8221; which requires additional
disclosure of certain costs and expenses within the notes to the financial statements. The updated standard is effective for annual reporting
periods beginning after December 15, 2026 and interim reporting periods within annual reporting periods beginning after December 15, 2027.
The requirements will be applied prospectively with the option for retrospective application. Early adoption is permitted. The Company
is currently evaluating the effect the updated guidance will have on its financial statement disclosures.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Forward-Looking Statements and Projections</span></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company may, from time to time, make forward-looking
statements and projections concerning future expectations. Such statements are based on current expectations and are subject to certain
qualifying risks and uncertainties, such as market demand, sales levels of firearms, anticipated castings sales and earnings, the need
for external financing for operations or capital expenditures, the results of pending litigation against the Company, the impact of future
firearms control and environmental legislation and accounting estimates, any one or more of which could cause actual results to differ
materially from those projected. Words such as &#8220;expect,&#8221; &#8220;believe,&#8221; &#8220;anticipate,&#8221; &#8220;intend,&#8221;
&#8220;estimate,&#8221; &#8220;will,&#8221; &#8220;should,&#8221; &#8220;could&#8221; and other words and terms of similar meaning, typically
identify such forward-looking statements. Readers are cautioned not to place undue reliance on these forward-looking statements, which
speak only as of the date made. The Company undertakes no obligation to publish revised forward-looking statements to reflect events
or circumstances after the date such forward-looking statements are made or to reflect the occurrence of subsequent unanticipated events.</p><div>

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

</div><!-- Field: Page; Sequence: 44 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->44<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><div><a id="a_013"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 63pt; text-indent: -63pt"><b>ITEM 7A&#8212;QUANTITATIVE AND QUALITATIVE
DISCLOSURES ABOUT MARKET RISK</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is exposed to changing interest rates
on its investments, which consist primarily of United States Treasury instruments with short-term (less than one year) maturities and
cash. The interest rate market risk implicit in the Company's investments at any given time is low, as the investments mature within short
periods and the Company does not have significant exposure to changing interest rates on invested cash.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has not undertaken any actions to
cover interest rate market risk and is not a party to any interest rate market risk management activities.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A hypothetical 100 basis point change in market
interest rates over the next year would not materially impact the Company&#8217;s earnings or cash flows. A hypothetical 100 basis point
change in market interest rates would not have a material effect on the fair value of the Company&#8217;s investments.</p><div>

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

</div><!-- Field: Page; Sequence: 45 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->45<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><div><a id="a_014"></a></div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">ITEM 8&#8212;FINANCIAL STATEMENTS AND SUPPLEMENTARY
DATA</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">INDEX TO CONSOLIDATED FINANCIAL STATEMENTS</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 90%; border-collapse: collapse; margin-left: auto; margin-right: auto; border-spacing: 0px;"> <tr style="vertical-align: top"> <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Reports of Independent Registered Public Accounting Firm (PCAOB ID <ix:nonNumeric contextRef="c0" name="dei:AuditorFirmId" id="ixv-16393">49</ix:nonNumeric>)</span></td> <td style="width: 0.5in; text-align: right"><span style="font-family: Times New Roman, Times, Serif">47</span></td></tr> <tr style="vertical-align: top"> <td style="text-align: justify">&#160;</td> <td style="text-align: right">&#160;</td></tr> <tr style="vertical-align: top"> <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Consolidated Balance Sheets at December 31, 2024 and 2023</span></td> <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">50</span></td></tr> <tr style="vertical-align: top"> <td style="text-align: justify">&#160;</td> <td style="text-align: right">&#160;</td></tr> <tr style="vertical-align: top"> <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Consolidated Statements of Income and Comprehensive Income for the years ended December 31, 2024, 2023 and 2022</span></td> <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">52</span></td></tr> <tr style="vertical-align: top"> <td style="text-align: justify">&#160;</td> <td style="text-align: right">&#160;</td></tr> <tr style="vertical-align: top"> <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Consolidated Statements of Stockholders&#8217; Equity for the years ended December 31, 2024, 2023 and 2022</span></td> <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">53</span></td></tr> <tr style="vertical-align: top"> <td style="text-align: justify">&#160;</td> <td style="text-align: right">&#160;</td></tr> <tr style="vertical-align: top"> <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Consolidated Statements of Cash Flows for the years ended December 31, 2024, 2023 and 2022</span></td> <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">54</span></td></tr> <tr style="vertical-align: top"> <td style="text-align: justify">&#160;</td> <td style="text-align: right">&#160;</td></tr> <tr style="vertical-align: top"> <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Notes to Consolidated Financial Statements</span></td> <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif">55</span></td></tr> </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>


</div><!-- Field: Page; Sequence: 46 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->46<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Report of Independent Registered Public Accounting Firm</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">To the Stockholders and the Board of Directors of Sturm, Ruger &amp;
Company, Inc. and Subsidiaries</p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Opinion on the Internal Control Over Financial Reporting</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We have audited Sturm, Ruger &amp; Company, Inc. and Subsidiaries'
(the Company) internal control over financial reporting as of December 31, 2024, based on criteria established in <i>Internal Control
&#8212; Integrated Framework</i> issued by the Committee of Sponsoring Organizations of the Treadway Commission in 2013. In our opinion,
the Company maintained, in all material respects, effective internal control over financial reporting as of December 31, 2024, based on
criteria established in <i>Internal Control &#8212; Integrated Framework</i> issued by the Committee of Sponsoring Organizations of the
Treadway Commission in 2013.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We have also audited, in accordance with the standards of the Public
Company Accounting Oversight Board (United States) (PCAOB),  the consolidated balance sheets of the Company as of December 31, 2023
and 2022, and the related consolidated statements of income and comprehensive income, stockholders' equity, and cash flows for each of
the three years in the period ended December 31, 2023, and our report dated February
19, 2025 expressed an unqualified opinion.</p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Basis for Opinion</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The Company&#8217;s management is responsible for maintaining effective
internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting in
the accompanying Management&#8217;s Report on Internal Control over Financial Reporting. Our responsibility is to express an opinion on
the Company&#8217;s internal control over financial reporting based on our audit. We are a public accounting firm registered with the
PCAOB and are required to be independent with respect to the Company in accordance with U.S. federal securities laws and the applicable
rules and regulations of the Securities and Exchange Commission and the PCAOB.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We conducted our audit in accordance with the standards of the PCAOB.
Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over
financial reporting was maintained in all material respects. Our audit included obtaining an understanding of internal control over financial
reporting, assessing the risk that a material weakness exists, and testing and evaluating the design and operating effectiveness of internal
control based on the assessed risk. Our audit also included performing such other procedures as we considered necessary in the circumstances.
We believe that our audit provides a reasonable basis for our opinion.</p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Definition and Limitations of Internal Control Over Financial
Reporting</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">A company's internal control over financial reporting is a process
designed 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. A company's internal control over financial reporting
includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly
reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded
as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts
and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and
(3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of the company's
assets that could have a material effect on the financial statements.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Because of its inherent limitations, internal control over financial
reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject
to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or
procedures may deteriorate.</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">/s/RSM US LLP</p><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><!-- Field: Page; Sequence: 47 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->47<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left">Report of Independent Registered Public Accounting
Firm</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">To the Stockholders and the Board of Directors of Sturm, Ruger &amp;
Company, Inc. and Subsidiaries</p><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_AuditorOpinionTextBlock-c0_cont_1" escape="true" name="dei:AuditorOpinionTextBlock" id="ixv-8124"><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Opinion on the Financial Statements</p></ix:nonNumeric><div>

</div><ix:continuation id="_AuditorOpinionTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We have audited the accompanying consolidated balance sheets of Sturm,
Ruger &amp; Company, Inc. and its subsidiaries (the Company) as of December 31, 2024 and 2023, the related consolidated statements of
income and comprehensive income, stockholders' equity and cash flows for each of the three years in the period ended December 31, 2024,
and the related notes to the consolidated financial statements and schedule (collectively, the financial statements). In our opinion,
the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2024 and 2023,
and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2024, in conformity
with accounting principles generally accepted in the United States of America.</p></ix:continuation><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We have also audited, in accordance with the standards of the Public&#160;Company
Accounting Oversight Board (United&#160;States)&#160;(PCAOB), the Company's internal control over financial reporting as of December 31,
2024, based on criteria established in <i>Internal Control &#8212; Integrated Framework</i> issued by the Committee of Sponsoring Organizations
of the Treadway Commission in 2013, and our report dated February 19, 2025 expressed an unqualified opinion on the effectiveness of the
Company's internal control over financial reporting.</p><div>

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

</div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Basis for Opinion</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">These financial statements are the responsibility of the Company&#8217;s
management. Our responsibility is to express an opinion on the Company&#8217;s financial statements based on our audits. We are a public
accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with U.S. federal
securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We conducted our audits in accordance with the standards of the PCAOB.
Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free
of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement
of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included
examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating
the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial
statements. We believe that our audits provide a reasonable basis for our opinion.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Critical Audit&#8239;Matters&#160;</b></p><div>

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

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

</div><!-- Field: Page; Sequence: 48 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->48<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Last-In, First-Out Inventory Reserve</b>&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">As described in Notes 1 and 4 to the financial statements, substantially
all of the Company&#8217;s inventories are valued at the lower of cost, which is principally determined by the last-in, first-out (LIFO)
method, or net realizable value, and the Company&#8217;s consolidated net inventories balance of $76.5 million as of December 31, 2024,
included a LIFO inventory reserve of $66.4 million. The Company records its net inventories under the LIFO method at the end of each year
based on the inventory levels at the measurement date and the prevailing inventory costs existing at that time, which are estimated using
a complex manual calculation.&#160;&#160;</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We identified the LIFO inventory reserve as a critical audit matter
because of the complexities of the manual calculations performed by management to estimate the prevailing inventory costs, which includes
calculations to estimate current year price level changes through the development of a prior year and a current year cumulative price
index. Auditing management&#8217;s estimate of the LIFO inventory reserve was complex and required a high degree of auditor judgement
and increased audit effort due to the complexities of management&#8217;s manual calculations.&#160;&#160;</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Our audit procedures related to the Company&#8217;s LIFO inventory
reserve included the following, among others:&#160;&#160;</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We obtained an understanding of the relevant controls
                                                                                   related to the LIFO inventory reserve and tested such controls for design and operating effectiveness, including controls related to
                                                                                   management&#8217;s review of the calculations related to the estimate of the current year price level changes, the calculation of
                                                                                   the cumulative price indexes, and the estimate of the LIFO inventory reserve.</span></td></tr></table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We tested the completeness, accuracy, and relevance of the
significant underlying data used in management&#8217;s estimate of the current year price level changes, the calculation of cumulative
price index and the LIFO inventory reserve.&#160;</span></td></tr></table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We tested the mathematical accuracy of the Company&#8217;s
calculation to estimate the LIFO inventory reserve.&#160;&#160;</span></td></tr></table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We evaluated the appropriateness of management&#8217;s methodologies
to develop the estimate of the LIFO inventory reserve.&#160;</span></td></tr></table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span>&#9679;</span></td><td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We evaluated the reasonableness of management&#8217;s estimate
of the current year price level changes by comparing management&#8217;s estimate to external market data.&#160;</span></td></tr></table><div>

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">/s/<ix:nonNumeric contextRef="c0" name="dei:AuditorName" id="ixv-16394">RSM US LLP</ix:nonNumeric></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We have served as the Company&#8217;s auditor since 2005.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><ix:nonNumeric contextRef="c0" name="dei:AuditorLocation" id="ixv-16395">Stamford, Connecticut</ix:nonNumeric></p><div>

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

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

</div><!-- Field: Page; Sequence: 49 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->49<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>(Dollars in thousands, except per share data)</i></p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify">Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Cash and cash equivalents</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" unitRef="usd" id="ixv-16396">10,028</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" unitRef="usd" id="ixv-16397">15,174</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Short-term investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShortTermInvestments" scale="3" unitRef="usd" id="ixv-16398">95,453</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShortTermInvestments" scale="3" unitRef="usd" id="ixv-16399">102,485</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Trade receivables, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" unitRef="usd" id="ixv-16400">67,145</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" unitRef="usd" id="ixv-16401">59,864</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryGross" scale="3" unitRef="usd" id="ixv-16402">149,417</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryGross" scale="3" unitRef="usd" id="ixv-16403">150,192</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Less LIFO reserve</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryLIFOReserve" scale="3" unitRef="usd" id="ixv-16404">66,398</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryLIFOReserve" scale="3" unitRef="usd" id="ixv-16405">64,262</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 10pt">Less excess and obsolescence reserve</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryValuationReserves" scale="3" unitRef="usd" id="ixv-16406">6,533</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryValuationReserves" scale="3" unitRef="usd" id="ixv-16407">6,120</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 10pt; text-align: left">Net inventories</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryNet" scale="3" unitRef="usd" id="ixv-16408">76,486</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryNet" scale="3" unitRef="usd" id="ixv-16409">79,810</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Prepaid expenses and other current assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" unitRef="usd" id="ixv-16410">9,245</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" unitRef="usd" id="ixv-16411">14,062</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total Current Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetsCurrent" scale="3" unitRef="usd" id="ixv-16412">258,357</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AssetsCurrent" scale="3" unitRef="usd" id="ixv-16413">271,395</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Property, plant and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-16414">477,622</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-16415">462,397</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 10pt; text-align: left">Less allowances for depreciation</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-16416">406,373</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-16417">390,863</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 10pt; text-align: left">Net property, plant and equipment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" unitRef="usd" id="ixv-16418">71,249</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" unitRef="usd" id="ixv-16419">71,534</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" unitRef="usd" id="ixv-16420">16,681</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" unitRef="usd" id="ixv-16421">11,976</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Other assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" unitRef="usd" id="ixv-16422">37,747</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" unitRef="usd" id="ixv-16423">43,912</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Total Assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-16424">384,034</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-16425">398,817</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>See accompanying notes to consolidated financial statements.</i></p><div>

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

</div><!-- Field: Page; Sequence: 50 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->50<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; font-weight: bold">Liabilities and Stockholders&#8217; Equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Current Liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Trade accounts payable and accrued expenses</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" scale="3" unitRef="usd" id="ixv-16426">35,750</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" scale="3" unitRef="usd" id="ixv-16427">31,708</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Contract liabilities with customers (Note 2)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-4">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" unitRef="usd" id="ixv-16428">149</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Product liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="rgr:ProductLiabilityCurrent" scale="3" unitRef="usd" id="ixv-16429">431</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="rgr:ProductLiabilityCurrent" scale="3" unitRef="usd" id="ixv-16430">634</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Employee compensation and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedEmployeeBenefitsCurrent" scale="3" unitRef="usd" id="ixv-16431">18,824</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedEmployeeBenefitsCurrent" scale="3" unitRef="usd" id="ixv-16432">24,660</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Workers&#8217; compensation</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WorkersCompensationLiabilityCurrent" scale="3" unitRef="usd" id="ixv-16433">5,804</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:WorkersCompensationLiabilityCurrent" scale="3" unitRef="usd" id="ixv-16434">6,044</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total Current Liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesCurrent" scale="3" unitRef="usd" id="ixv-16435">60,809</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesCurrent" scale="3" unitRef="usd" id="ixv-16436">63,195</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease liability (Note 7)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" unitRef="usd" id="ixv-16437">1,747</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" unitRef="usd" id="ixv-16438">2,170</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Employee compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="rgr:EmployeeCompensation" scale="3" unitRef="usd" id="ixv-16439">1,835</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="rgr:EmployeeCompensation" scale="3" unitRef="usd" id="ixv-16440">1,685</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Product liability accrual</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="rgr:ProductLiabilityAccrualNoncurrent" scale="3" unitRef="usd" id="ixv-16441">61</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="rgr:ProductLiabilityAccrualNoncurrent" scale="3" unitRef="usd" id="ixv-16442">46</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Contingent liabilities (Note 20)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-5">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-6">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Stockholders&#8217; Equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Common stock, non-voting, par value $<ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" unitRef="usdPershares" id="ixv-16443"><ix:nonFraction contextRef="c6" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" unitRef="usdPershares" id="ixv-16444">1</ix:nonFraction></ix:nonFraction>:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Authorized shares &#8211; <ix:nonFraction contextRef="c5" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" unitRef="shares" id="ixv-16445"><ix:nonFraction contextRef="c6" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" unitRef="shares" id="ixv-16446">50,000</ix:nonFraction></ix:nonFraction>; <span style="-sec-ix-hidden: hidden-fact-9"><span style="-sec-ix-hidden: hidden-fact-10">none</span></span> issued</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-7">&#160;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-8">&#160;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Common stock, par value $<ix:nonFraction contextRef="c7" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" unitRef="usdPershares" id="ixv-16447"><ix:nonFraction contextRef="c8" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" unitRef="usdPershares" id="ixv-16448">1</ix:nonFraction></ix:nonFraction>:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -23.4pt; padding-left: 0.5in">Authorized shares &#8211; <ix:nonFraction contextRef="c7" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" unitRef="shares" id="ixv-16449"><ix:nonFraction contextRef="c8" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" unitRef="shares" id="ixv-16450">40,000,000</ix:nonFraction></ix:nonFraction></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 12.7pt">2024 &#8211; <ix:nonFraction contextRef="c7" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesIssued" scale="0" unitRef="shares" id="ixv-16451">24,467,983</ix:nonFraction> issued,</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 40pt"><ix:nonFraction contextRef="c7" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-16452">16,790,824</ix:nonFraction> outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 12.7pt">2023 &#8211; <ix:nonFraction contextRef="c8" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesIssued" scale="0" unitRef="shares" id="ixv-16453">24,437,020</ix:nonFraction> issued,</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 40pt"><ix:nonFraction contextRef="c8" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" unitRef="shares" id="ixv-16454">17,458,620</ix:nonFraction> outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c7" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockValue" scale="3" unitRef="usd" id="ixv-16455">24,468</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c8" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CommonStockValue" scale="3" unitRef="usd" id="ixv-16456">24,437</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Additional paid-in capital</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" unitRef="usd" id="ixv-16457">50,536</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" unitRef="usd" id="ixv-16458">46,849</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Retained earnings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" unitRef="usd" id="ixv-16459">436,609</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" unitRef="usd" id="ixv-16460">418,058</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Less: Treasury stock &#8211; at cost</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 12.7pt">2024 &#8211; <ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" scale="0" unitRef="shares" id="ixv-16461">7,677,159</ix:nonFraction> shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 12.7pt">2023 &#8211; <ix:nonFraction contextRef="c4" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonShares" scale="0" unitRef="shares" id="ixv-16462">6,978,400</ix:nonFraction> shares</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonValue" scale="3" unitRef="usd" id="ixv-16463">192,031</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockCommonValue" scale="3" unitRef="usd" id="ixv-16464">157,623</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left; text-indent: 13.5pt">Total Stockholders&#8217; Equity</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16465">319,582</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16466">331,721</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Total Liabilities and Stockholders&#8217; Equity</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" unitRef="usd" id="ixv-16467">384,034</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" unitRef="usd" id="ixv-16468">398,817</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>See accompanying notes to consolidated financial statements.</i></p><div>

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

</div><!-- Field: Page; Sequence: 51 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->51<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Consolidated Statements of Income and Comprehensive Income</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>(In thousands, except per share data)</i></p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif">Year ended December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: right">2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right">2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left">Net firearms sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c9" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-16469">532,608</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c10" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-16470">540,746</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c11" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-16471">593,289</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Net castings sales</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c12" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-16472">3,035</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c13" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-16473">3,021</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c14" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-16474">2,553</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total net sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-16475">535,643</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-16476">543,767</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-16477">595,842</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Cost of products sold</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-16478">421,228</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-16479">410,148</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-16480">415,757</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Gross profit</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-16481">114,415</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-16482">133,619</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-16483">180,085</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Operating Expenses (Income):</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -23.4pt; padding-left: 0.5in">Selling</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingExpense" scale="3" unitRef="usd" id="ixv-16484">38,755</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingExpense" scale="3" unitRef="usd" id="ixv-16485">38,788</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SellingExpense" scale="3" unitRef="usd" id="ixv-16486">36,114</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 12.6pt">General and administrative</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" unitRef="usd" id="ixv-16487">44,006</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" unitRef="usd" id="ixv-16488">42,752</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" unitRef="usd" id="ixv-16489">40,551</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left; text-indent: 13.5pt">Other operating income, net</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-11">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" unitRef="usd" id="ixv-16490">5</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" unitRef="usd" id="ixv-16491">36</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Total operating expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingExpenses" scale="3" unitRef="usd" id="ixv-16492">82,761</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingExpenses" scale="3" unitRef="usd" id="ixv-16493">81,535</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingExpenses" scale="3" unitRef="usd" id="ixv-16494">76,629</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Operating income</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" unitRef="usd" id="ixv-16495">31,654</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" unitRef="usd" id="ixv-16496">52,084</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" unitRef="usd" id="ixv-16497">103,456</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Other income:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 13.5pt">Royalty income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RoyaltyIncomeNonoperating" scale="3" unitRef="usd" id="ixv-16498">857</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RoyaltyIncomeNonoperating" scale="3" unitRef="usd" id="ixv-16499">658</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RoyaltyIncomeNonoperating" scale="3" unitRef="usd" id="ixv-16500">837</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 13.5pt">Interest income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InvestmentIncomeInterest" scale="3" unitRef="usd" id="ixv-16501">4,885</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InvestmentIncomeInterest" scale="3" unitRef="usd" id="ixv-16502">5,465</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InvestmentIncomeInterest" scale="3" unitRef="usd" id="ixv-16503">2,552</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 13.5pt">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestExpenseNonoperating" scale="3" unitRef="usd" id="ixv-16504">102</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestExpenseNonoperating" scale="3" unitRef="usd" id="ixv-16505">205</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InterestExpenseNonoperating" scale="3" unitRef="usd" id="ixv-16506">256</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left; text-indent: 13.5pt">Other income, net</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" unitRef="usd" id="ixv-16507">481</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" unitRef="usd" id="ixv-16508">822</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" unitRef="usd" id="ixv-16509">1,690</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total other income, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" unitRef="usd" id="ixv-16510">6,121</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" unitRef="usd" id="ixv-16511">6,740</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" unitRef="usd" id="ixv-16512">4,823</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Income before income taxes</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-16513">37,775</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-16514">58,824</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-16515">108,279</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-16516">7,212</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-16517">10,609</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-16518">19,947</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Net income and comprehensive income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16519">30,563</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16520">48,215</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16521">88,332</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Basic Earnings Per Share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-16522">1.79</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-16523">2.73</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-16524">5.00</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Diluted Earnings Per Share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-16525">1.77</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-16526">2.71</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-16527">4.96</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Weighted average number of common shares outstanding &#8211; Basic</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-16528">17,088,205</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-16529">17,676,955</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-16530">17,648,850</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Weighted average number of common shares outstanding &#8211; Diluted</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-16531">17,270,101</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-16532">17,811,218</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-16533">17,793,348</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Cash Dividends Per Share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" unitRef="usdPershares" id="ixv-16534">0.69</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" unitRef="usdPershares" id="ixv-16535">6.27</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" unitRef="usdPershares" id="ixv-16536">2.42</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>&#160;</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>See accompanying notes to consolidated financial statements.</i></p><div>

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

</div><!-- Field: Page; Sequence: 52 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->52<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>&#160;</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Consolidated Statements of Stockholders&#8217; Equity</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>(Dollars in thousands)</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>&#160;</i></p><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center; padding-left: 5.4pt; vertical-align: bottom">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center">Common<br/>
                                            Stock</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center">Additional
                                            <br/>
Paid-in <br/>
Capital</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center">Retained<br/>

                                            Earnings</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center">Treasury<br/>

                                            Stock</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center; vertical-align: bottom">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center">Total</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; white-space: nowrap; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; padding-left: 0pt">Balance at December 31, 2021</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c17" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16537">24,306</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c18" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16538">46,847</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c19" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16539">438,098</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(<ix:nonFraction contextRef="c20" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" sign="-" unitRef="usd" id="ixv-16540">145,590</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c21" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16541">363,661</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c22" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16542">88,332</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16543">88,332</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c22" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStock" scale="3" unitRef="usd" id="ixv-16544">42,718</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStock" scale="3" unitRef="usd" id="ixv-16545">42,718</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c23" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" unitRef="usd" id="ixv-16546">1,671</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" unitRef="usd" id="ixv-16547">1,671</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -13.5pt; padding-left: 31.5pt">Vesting of RSU&#8217;s</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c23" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" sign="-" unitRef="usd" id="ixv-16548">3,371</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" sign="-" unitRef="usd" id="ixv-16549">3,371</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Common stock issued &#8211; compensation plans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c24" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" unitRef="usd" id="ixv-16550">72</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c23" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" sign="-" unitRef="usd" id="ixv-16551">72</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-12">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Unpaid dividends accrued</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c22" decimals="-3" format="ixt:num-dot-decimal" name="rgr:DividendsCommonStockUnpaid" scale="3" unitRef="usd" id="ixv-16552">90,615</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="rgr:DividendsCommonStockUnpaid" scale="3" unitRef="usd" id="ixv-16553">90,615</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -13.5pt; padding-left: 31.5pt">Repurchase of <ix:nonFraction contextRef="c16" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" unitRef="shares" id="ixv-16554">4,440</ix:nonFraction> shares of common stock</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c25" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" unitRef="usd" id="ixv-16555">222</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" unitRef="usd" id="ixv-16556">222</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt">Balance at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c26" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16557">24,378</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c27" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16558">45,075</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c28" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16559">393,097</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c29" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" sign="-" unitRef="usd" id="ixv-16560">145,812</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c30" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16561">316,738</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c31" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16562">48,215</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16563">48,215</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c31" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStock" scale="3" unitRef="usd" id="ixv-16564">22,446</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStock" scale="3" unitRef="usd" id="ixv-16565">22,446</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c32" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" unitRef="usd" id="ixv-16566">3,989</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" unitRef="usd" id="ixv-16567">3,989</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -13.5pt; padding-left: 31.5pt">Vesting of RSU&#8217;s</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c32" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" sign="-" unitRef="usd" id="ixv-16568">2,156</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" sign="-" unitRef="usd" id="ixv-16569">2,156</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Common stock issued &#8211; compensation plans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c33" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" unitRef="usd" id="ixv-16570">59</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c32" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" sign="-" unitRef="usd" id="ixv-16571">59</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-13">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Unpaid dividends accrued</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c31" decimals="-3" format="ixt:num-dot-decimal" name="rgr:DividendsCommonStockUnpaid" scale="3" unitRef="usd" id="ixv-16572">808</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="rgr:DividendsCommonStockUnpaid" scale="3" unitRef="usd" id="ixv-16573">808</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -13.5pt; padding-left: 31.5pt">Repurchase of <ix:nonFraction contextRef="c15" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" unitRef="shares" id="ixv-16574">264,062</ix:nonFraction> shares of common stock</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c34" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" unitRef="usd" id="ixv-16575">11,811</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" unitRef="usd" id="ixv-16576">11,811</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -17.1pt; padding-left: 17.1pt">Balance at December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c35" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16577">24,437</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c36" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16578">46,849</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c37" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16579">418,058</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c38" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" sign="-" unitRef="usd" id="ixv-16580">157,623</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16581">331,721</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 17.1pt">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c39" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16582">30,563</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16583">30,563</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 17.1pt">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c39" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStock" scale="3" unitRef="usd" id="ixv-16584">11,829</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DividendsCommonStock" scale="3" unitRef="usd" id="ixv-16585">11,829</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 17.1pt">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c40" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" unitRef="usd" id="ixv-16586">4,342</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" unitRef="usd" id="ixv-16587">4,342</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 17.1pt">Vesting of RSU&#8217;s</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c40" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" sign="-" unitRef="usd" id="ixv-16588">624</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" sign="-" unitRef="usd" id="ixv-16589">624</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.5pt; padding-left: 31.5pt">Common stock issued &#8211; compensation plans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c41" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" unitRef="usd" id="ixv-16590">31</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c40" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" sign="-" unitRef="usd" id="ixv-16591">31</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-14">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 17.1pt">Unpaid dividends accrued</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c39" decimals="-3" format="ixt:num-dot-decimal" name="rgr:DividendsCommonStockUnpaid" scale="3" unitRef="usd" id="ixv-16592">183</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="rgr:DividendsCommonStockUnpaid" scale="3" unitRef="usd" id="ixv-16593">183</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -13.5pt; padding-left: 31.5pt">Repurchase of <ix:nonFraction contextRef="c0" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" unitRef="shares" id="ixv-16594">835,060</ix:nonFraction> shares of common stock</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c42" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" unitRef="usd" id="ixv-16595">34,408</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" unitRef="usd" id="ixv-16596">34,408</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0pt">Balance at December 31, 2024</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c43" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16597">24,468</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c44" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16598">50,536</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c45" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16599">436,609</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c46" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" sign="-" unitRef="usd" id="ixv-16600">192,031</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:StockholdersEquity" scale="3" unitRef="usd" id="ixv-16601">319,582</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>&#160;</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>See accompanying notes to consolidated financial statements.</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>&#160;</i></p><div>

</div><!-- Field: Page; Sequence: 53 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->53<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Consolidated Statements of Cash Flows</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>(In thousands)</i></p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif">Year ended December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: right">2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; text-align: right">2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify">Operating Activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left; text-indent: -0.25in; padding-left: 0.5in">Net income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16602">30,563</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16603">48,215</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16604">88,332</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.25in">Adjustments to reconcile net income to cash provided by operating activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0.5in">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" unitRef="usd" id="ixv-16605">22,063</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" unitRef="usd" id="ixv-16606">22,383</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" unitRef="usd" id="ixv-16607">25,789</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.5in">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" unitRef="usd" id="ixv-16608">4,342</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" unitRef="usd" id="ixv-16609">3,989</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensation" scale="3" unitRef="usd" id="ixv-16610">1,671</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0.5in">Excess and obsolescence inventory reserve</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="rgr:ExcessAndObsolescenceInventoryReserve" scale="3" sign="-" unitRef="usd" id="ixv-16611">413</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="rgr:ExcessAndObsolescenceInventoryReserve" scale="3" sign="-" unitRef="usd" id="ixv-16612">1,308</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="rgr:ExcessAndObsolescenceInventoryReserve" scale="3" sign="-" unitRef="usd" id="ixv-16613">501</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.5in">Gain on sale of assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-15">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" unitRef="usd" id="ixv-16614">5</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" unitRef="usd" id="ixv-16615">36</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0.5in">Deferred income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredOtherTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-16616">4,705</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredOtherTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-16617">5,867</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredOtherTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-16618">5,573</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.5in">Changes in operating assets and liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.25in; padding-left: 1in">Trade receivables</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" unitRef="usd" id="ixv-16619">7,281</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" sign="-" unitRef="usd" id="ixv-16620">5,585</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" unitRef="usd" id="ixv-16621">8,413</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 0.75in">Inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" sign="-" unitRef="usd" id="ixv-16622">2,911</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" unitRef="usd" id="ixv-16623">16,125</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" unitRef="usd" id="ixv-16624">21,644</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.75in">Trade accounts payable and accrued expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="3" unitRef="usd" id="ixv-16625">3,789</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="3" sign="-" unitRef="usd" id="ixv-16626">4,406</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="3" sign="-" unitRef="usd" id="ixv-16627">640</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.75in">Contract liability with customers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" sign="-" unitRef="usd" id="ixv-16628">149</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" sign="-" unitRef="usd" id="ixv-16629">882</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" unitRef="usd" id="ixv-16630">1,031</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.75in">Employee compensation and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" sign="-" unitRef="usd" id="ixv-16631">5,869</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" sign="-" unitRef="usd" id="ixv-16632">6,469</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" sign="-" unitRef="usd" id="ixv-16633">3,420</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.75in">Product liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="rgr:IncreaseDecreaseInProductLiability" scale="3" sign="-" unitRef="usd" id="ixv-16634">188</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="rgr:IncreaseDecreaseInProductLiability" scale="3" unitRef="usd" id="ixv-16635">372</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="rgr:IncreaseDecreaseInProductLiability" scale="3" sign="-" unitRef="usd" id="ixv-16636">584</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.25in; padding-left: 1in">Prepaid expenses, other assets and other liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" sign="-" unitRef="usd" id="ixv-16637">9,615</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" unitRef="usd" id="ixv-16638">13,026</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" unitRef="usd" id="ixv-16639">954</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left; text-indent: 0.75in">Income taxes receivable/payable</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-16">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="3" sign="-" unitRef="usd" id="ixv-16640">1,171</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="3" unitRef="usd" id="ixv-16641">1,171</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.5in">Cash provided by operating activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" unitRef="usd" id="ixv-16642">55,504</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" unitRef="usd" id="ixv-16643">33,901</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" unitRef="usd" id="ixv-16644">77,231</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: justify">Investing Activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.25in">Property, plant and equipment additions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-16645">20,821</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-16646">15,796</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-16647">27,730</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.25in">Purchases of short-term investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquireInvestments" scale="3" unitRef="usd" id="ixv-16648">138,885</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquireInvestments" scale="3" unitRef="usd" id="ixv-16649">192,627</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsToAcquireInvestments" scale="3" unitRef="usd" id="ixv-16650">365,480</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.25in">Proceeds from maturity of short-term investments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments" scale="3" unitRef="usd" id="ixv-16651">145,917</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments" scale="3" unitRef="usd" id="ixv-16652">249,274</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments" scale="3" unitRef="usd" id="ixv-16653">406,319</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left; text-indent: 0.25in">Net proceeds from sale of assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-17">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleOfProductiveAssets" scale="3" unitRef="usd" id="ixv-16654">5</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProceedsFromSaleOfProductiveAssets" scale="3" unitRef="usd" id="ixv-16655">100</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 35.9pt; padding-left: 0.1pt">Cash (used for) provided by investing activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" sign="-" unitRef="usd" id="ixv-16656">13,789</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" unitRef="usd" id="ixv-16657">40,856</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" unitRef="usd" id="ixv-16658">13,209</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify">Financing Activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.25in">Dividends paid</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsOfDividends" scale="3" unitRef="usd" id="ixv-16659">11,829</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsOfDividends" scale="3" unitRef="usd" id="ixv-16660">110,789</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsOfDividends" scale="3" unitRef="usd" id="ixv-16661">42,718</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.25in">Repurchase of common stock</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" unitRef="usd" id="ixv-16662">34,408</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" unitRef="usd" id="ixv-16663">11,811</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" unitRef="usd" id="ixv-16664">222</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left; text-indent: -0.25in; padding-left: 0.5in">Payment of employee withholding tax related to&#160;&#160;share-based compensation</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" unitRef="usd" id="ixv-16665">624</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" unitRef="usd" id="ixv-16666">2,156</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" unitRef="usd" id="ixv-16667">3,371</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left; text-indent: 0.5in">Cash used for financing activities</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" sign="-" unitRef="usd" id="ixv-16668">46,861</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" sign="-" unitRef="usd" id="ixv-16669">124,756</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" sign="-" unitRef="usd" id="ixv-16670">46,311</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">(Decrease) increase in cash and cash equivalents</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" scale="3" sign="-" unitRef="usd" id="ixv-16671">5,146</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" scale="3" sign="-" unitRef="usd" id="ixv-16672">49,999</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" scale="3" unitRef="usd" id="ixv-16673">44,129</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Cash and cash equivalents at beginning of year</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" unitRef="usd" id="ixv-16674">15,174</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c30" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" unitRef="usd" id="ixv-16675">65,173</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c21" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" unitRef="usd" id="ixv-16676">21,044</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Cash and cash equivalents at end of year</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" unitRef="usd" id="ixv-16677">10,028</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" unitRef="usd" id="ixv-16678">15,174</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c30" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" unitRef="usd" id="ixv-16679">65,173</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>See accompanying notes to consolidated financial statements.</i></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><!-- Field: Page; Sequence: 54 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->54<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">Notes to Consolidated Financial Statements</span></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><i>(Dollars in thousands, except per share)</i></p><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_SignificantAccountingPoliciesTextBlock-c0_cont_1" escape="true" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="ixv-10663"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>1. Summary of Significant Accounting Policies</b></p>

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

<ix:nonNumeric contextRef="c0" continuedAt="rgr_OrganizationPolicyTextBlock-c0_cont_1" escape="true" name="rgr:OrganizationPolicyTextBlock" id="ixv-10668"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Organization</span></p></ix:nonNumeric>

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

<ix:continuation continuedAt="rgr_OrganizationPolicyTextBlock-c0_cont_2" id="rgr_OrganizationPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Sturm, Ruger &amp; Company, Inc. (the &#8220;Company&#8221;)
is principally engaged in the design, manufacture, and sale of firearms to domestic customers. Approximately <ix:nonFraction contextRef="c47" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-16680">99</ix:nonFraction>% of sales were from firearms.
Export sales represented approximately <ix:nonFraction contextRef="c48" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-16681">5</ix:nonFraction>% of firearms sales. The Company&#8217;s design and manufacturing operations are located in the
United States and almost all product content is domestic. The Company&#8217;s firearms are sold through a select number of independent
wholesale distributors principally to the commercial sporting market.</p></ix:continuation>

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

<ix:continuation id="rgr_OrganizationPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company manufactures investment castings made
from steel alloys and metal injection molding (&#8220;MIM&#8221;) parts for internal use in its firearms and utilizes available capacity
to manufacture and sell investment castings and MIM parts to unaffiliated, third-party customers. Castings were less than <ix:nonFraction contextRef="c49" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-16682">1</ix:nonFraction>% of the Company&#8217;s
total sales for the year ended December 31, 2024.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="rgr_PreparationOfFinancialStatementsPolicyTextBlock-c0_cont_1" escape="true" name="rgr:PreparationOfFinancialStatementsPolicyTextBlock" id="ixv-10678"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Preparation
of Financial Statements</span></span></p></ix:nonNumeric>

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

<ix:continuation continuedAt="rgr_PreparationOfFinancialStatementsPolicyTextBlock-c0_cont_2" id="rgr_PreparationOfFinancialStatementsPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company follows United States generally accepted
accounting principles (&#8220;GAAP&#8221;). The preparation of financial statements in conformity with GAAP requires management to make
estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent liabilities at the date
of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ
from these estimates.</p></ix:continuation>

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

<ix:continuation id="rgr_PreparationOfFinancialStatementsPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The significant accounting policies described
below, together with the notes that follow, are an integral part of the consolidated financial statements.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_ConsolidationPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:ConsolidationPolicyTextBlock" id="ixv-10690"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Principles
of Consolidation</span></span></p></ix:nonNumeric>

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

<ix:continuation id="_ConsolidationPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The consolidated financial statements include
the accounts of the Company and its wholly owned subsidiaries. All significant intercompany accounts and transactions have been eliminated.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_RevenueRecognitionPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:RevenueRecognitionPolicyTextBlock" id="ixv-10699"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Revenue Recognition</span></span></p></ix:nonNumeric>

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

<ix:continuation continuedAt="_RevenueRecognitionPolicyTextBlock-c0_cont_2" id="_RevenueRecognitionPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company recognizes revenue in accordance with
the provisions of Accounting Standards Codification Topic 606, Revenue from Contracts with Customers (&#8220;ASC 606&#8221;), which became
effective January 1, 2018. Substantially all product sales are sold FOB (free on board) shipping point. <ix:nonNumeric contextRef="c0" name="us-gaap:SharebasedCompensationEffectOnEarningsPerShare" id="ixv-16683">Customary payment terms are 2%
30 days</ix:nonNumeric>, net 40 days. Generally, all performance obligations are satisfied when product is shipped and the customer takes ownership and
assumes the risk of loss. In some instances, sales include multiple performance obligations. The most common of these instances relates
to sales promotion programs under which downstream customers are entitled to receive no charge products based on their purchases of certain
of the Company&#8217;s products from the independent distributors. The fulfillment of these no charge products </p></ix:continuation></ix:nonNumeric><div>

</div><!-- Field: Page; Sequence: 55 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->55<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><ix:continuation continuedAt="_SignificantAccountingPoliciesTextBlock-c0_cont_2" id="_SignificantAccountingPoliciesTextBlock-c0_cont_1"><ix:continuation id="_RevenueRecognitionPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">is the Company&#8217;s
responsibility. In such instances, the Company allocates the revenue of the promotional sales based on the estimated level of participation
in the sales promotional program and the timing of the shipment of all of the firearms included in the promotional program, including
the no charge firearms. Revenue is recognized proportionally as each performance obligation is satisfied, based on the relative customary
price of each product. Customary prices are generally determined based on the prices charged to the independent distributors. The net
change in contract liabilities for a given period is reported as an increase or decrease to sales. The Company accounts for cash sales
discounts as a reduction in sales. Amounts billed to customers for shipping and handling fees are included in net sales and costs incurred
by the Company for the delivery of goods are classified as selling expenses. Federal excise taxes are excluded from net sales.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_CashAndCashEquivalentsPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="ixv-10719"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Cash and
Cash Equivalents</span></span></p></ix:nonNumeric>

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

<ix:continuation id="_CashAndCashEquivalentsPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company considers interest-bearing deposits
with financial institutions with remaining maturities of three months or less at the time of acquisition to be cash equivalents.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock" id="ixv-10727"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Fair Value
Measurements of Short-term Investments</span></span></p></ix:nonNumeric>

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

<ix:continuation continuedAt="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_2" id="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Fair value is defined as the price that would
be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants in the principal or
most advantageous market at the measurement date. Fair value is established according to a hierarchy that prioritizes observable and unobservable
inputs used to measure fair value into three broad levels, which are described below:</p></ix:continuation>

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

<ix:continuation continuedAt="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_3" id="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 1: Unadjusted quoted prices in
active markets that are accessible at the measurement date for assets or liabilities. The fair value hierarchy gives the highest priority
to Level 1 inputs.</p></ix:continuation>

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

<ix:continuation continuedAt="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_4" id="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_3"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 2: Observable prices that are
based on inputs not quoted on active markets, but corroborated by market data.</p></ix:continuation>

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

<ix:continuation continuedAt="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_5" id="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_4"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 3: Unobservable inputs are used
when little or no market data is available. Level 3 inputs are given the lowest priority in the fair value hierarchy.</p></ix:continuation>

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

<ix:continuation continuedAt="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_6" id="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_5"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The asset or liability&#8217;s fair value measurement
level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation
techniques used need to maximize the use of observable inputs and minimize the use of unobservable inputs.</p></ix:continuation>

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

<ix:continuation continuedAt="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_7" id="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_6"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">As
of December 31, 2024, the Company&#8217;s short-term investments consist of U.S. Treasury instruments (Level 1), maturing within one year,
and </span>investments in a bank-managed money market fund that invests exclusively in United States Treasury obligations and is valued
at the net asset value ("NAV") daily closing price, as reported by the fund, based on the amortized cost of the fund&#8217;s
securities (Level 2)<span style="font-family: Times New Roman, Times, Serif">. For the bank-managed money market fund, t</span>he NAV
is used as a practical expedient to estimate fair value. This practical expedient is not used when it is determined to be probable that
the fund will sell the investment for an amount different than the reported NAV<span style="font-family: Times New Roman, Times, Serif">.
Such securities are classified as held to maturity, since the Company has the intent and ability to do so, and are carried at cost plus
accrued interest, which approximates fair value.</span></p></ix:continuation></ix:continuation><div>

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

</div><!-- Field: Page; Sequence: 56 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->56<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation continuedAt="_SignificantAccountingPoliciesTextBlock-c0_cont_3" id="_SignificantAccountingPoliciesTextBlock-c0_cont_2"><ix:continuation id="_FairValueMeasurementPolicyPolicyTextBlock-c0_cont_7"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The fair value of inventory acquired as part of
business combination is based on a third-party valuation utilizing the comparable sales method which is based on Level 2 and Level 3 inputs.
The fair value of property, plant and equipment acquired as part of business combination is based on a third-party valuation utilizing
the indirect method of cost approach, which is based on Level 2 and Level 3 inputs. The fair value of patents acquired as part of business
combination is based on a third-party valuation utilizing the replacement cost method, which is based on Level 2 and Level 3 inputs. The
fair value of the remaining intangible assets as part of business combination are based on a third-party valuation utilizing discounted
cash flow methods that involves inputs, which are not observable in the market (Level 3).</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_TradeAndOtherAccountsReceivablePolicy-c0_cont_1" escape="true" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="ixv-10769"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Accounts Receivable</span></p></ix:nonNumeric>

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

<ix:continuation id="_TradeAndOtherAccountsReceivablePolicy-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company establishes an allowance for doubtful
accounts based on the creditworthiness of its customers and historical experience. While the Company uses the best information available
to make its evaluation, future adjustments to the allowance for doubtful accounts may be necessary if there are significant changes in
economic and industry conditions or any other factors considered in the Company&#8217;s evaluation. Bad debt expense has been immaterial
during each of the last <ix:nonNumeric contextRef="c0" format="ixt-sec:durwordsen" name="rgr:BadDebtExpenseInTerm" id="ixv-16684">three years</ix:nonNumeric>. The Company mitigates its credit risk by maintaining credit insurance on most of its significant
customers.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_InventoryPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:InventoryPolicyTextBlock" id="ixv-10776"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Inventories</span></span></p></ix:nonNumeric>

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

<ix:continuation id="_InventoryPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Substantially all of the Company&#8217;s inventories
are valued at the lower of cost, principally determined by the last-in, first-out (LIFO) method, or net realizable value. Elements of
cost in inventories include raw materials, direct labor and manufacturing overhead.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_PropertyPlantAndEquipmentPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="ixv-10784"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Property,
Plant and Equipment</span></span></p></ix:nonNumeric>

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

<ix:continuation continuedAt="_PropertyPlantAndEquipmentPolicyTextBlock-c0_cont_2" id="_PropertyPlantAndEquipmentPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Property, plant and equipment are carried at cost.
Depreciation is computed over useful lives using the straight-line and declining balance methods predominately over <ix:nonNumeric contextRef="c50" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-16685">15</ix:nonNumeric> years for buildings,
<ix:nonNumeric contextRef="c51" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-16686">7</ix:nonNumeric> years for machinery and equipment and <ix:nonNumeric contextRef="c52" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="ixv-16687">3</ix:nonNumeric> years for tools and dies. When assets are retired, sold or otherwise disposed of, their gross
carrying values and related accumulated depreciation are removed from the accounts and a gain or loss on such disposals is recognized
when appropriate.</p></ix:continuation>

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

<ix:continuation id="_PropertyPlantAndEquipmentPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Maintenance and repairs are charged to operations;
replacements and improvements are capitalized.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="ixv-10795"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Long-lived Assets</span></p></ix:nonNumeric>

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

<ix:continuation continuedAt="_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock-c0_cont_2" id="_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company evaluates the carrying value of long-lived
assets to be held and used when events or changes in circumstances indicate the carrying value may not be recoverable. In performing this
review, the carrying value of the assets is compared to the projected undiscounted cash flows to be generated from the assets. If the
sum of the undiscounted expected future cash flows is less than the carrying value of the assets, the assets are considered to be impaired.
Impairment losses are measured as the amount by which the carrying value of the assets exceeds their fair value. The Company bases fair
value of the assets on quoted market prices if available or, if not available, quoted market prices of similar assets. Where quoted market
prices are not available, the Company </p></ix:continuation></ix:continuation><div>

</div><!-- Field: Page; Sequence: 57 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->57<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><ix:continuation continuedAt="_SignificantAccountingPoliciesTextBlock-c0_cont_4" id="_SignificantAccountingPoliciesTextBlock-c0_cont_3"><ix:continuation id="_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">estimates fair value using the estimated future cash flows generated by the assets discounted at
a rate commensurate with the risks associated with the recovery of the assets. As of December 31, 2024, the Company does not believe there
are any indications of impairment related to long-lived assets.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_GoodwillAndIntangibleAssetsGoodwillPolicy-c0_cont_1" escape="true" name="us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy" id="ixv-10815"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Goodwill</span></p></ix:nonNumeric>

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

<ix:continuation id="_GoodwillAndIntangibleAssetsGoodwillPolicy-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s goodwill represents the excess
of the purchase price of business combinations over the fair value of the net assets acquired. We assess goodwill for impairment on an
annual basis during the fourth quarter of each year, and between annual tests whenever events or changes in circumstances indicate that
the carrying amount may not be recoverable. An impairment exists by the amount the fair value of a reporting unit to which goodwill has
been allocated is less than their respective carrying values. The impairment for goodwill is limited to the total amount of goodwill allocated
to the reporting unit. Goodwill impairment testing requires significant judgment and management estimates, including, but not limited
to, the determination of (i)&#160;the number of reporting units, (ii)&#160;the goodwill and other assets and liabilities to be allocated
to the reporting units and (iii)&#160;the fair values of the reporting units. The estimates and assumptions described above, along with
other factors such as discount rates, will significantly affect the outcome of the impairment tests and the amounts of any resulting impairment
losses. As of December 31, 2024, the Company does not believe there are any indications of impairment related to goodwill.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_IncomeTaxPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:IncomeTaxPolicyTextBlock" id="ixv-10822"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Income Taxes</span></span></p></ix:nonNumeric>

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

<ix:continuation id="_IncomeTaxPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income taxes are accounted for using the asset
and liability method. Under this method, deferred income taxes are recognized for the tax consequences of &#8220;temporary differences&#8221;
by applying enacted statutory rates applicable to future years to temporary differences between the financial statement carrying amounts
and the tax basis of the Company&#8217;s assets and liabilities.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_LiabilityReserveEstimatePolicy-c0_cont_1" escape="true" name="us-gaap:LiabilityReserveEstimatePolicy" id="ixv-10830"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Product Liability</span></span></p></ix:nonNumeric>

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

<ix:continuation id="_LiabilityReserveEstimatePolicy-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company provides for product liability claims
including estimated legal costs to be incurred defending such claims. The provision for product liability claims is charged to cost of
products sold.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_AdvertisingCostsPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:AdvertisingCostsPolicyTextBlock" id="ixv-10838"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Advertising Costs</span></p></ix:nonNumeric>

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

<ix:continuation id="_AdvertisingCostsPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company includes advertising costs in selling
expenses and these costs are expensed as incurred. Advertising costs for 2024, 2023, and 2022, were $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AdvertisingExpense" scale="6" unitRef="usd" id="ixv-16688">3.4</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AdvertisingExpense" scale="6" unitRef="usd" id="ixv-16689">3.1</ix:nonFraction> million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AdvertisingExpense" scale="6" unitRef="usd" id="ixv-16690">2.4</ix:nonFraction>
million, respectively.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="rgr_ShippingCostPolicyPolicyTextBlock-c0_cont_1" escape="true" name="rgr:ShippingCostPolicyPolicyTextBlock" id="ixv-10845"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Shipping
Costs</span></span></p></ix:nonNumeric>

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

<ix:continuation id="rgr_ShippingCostPolicyPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Costs incurred related to the shipment of products
are included in selling expense. Such costs totaled $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="rgr:ShippingCosts" scale="6" unitRef="usd" id="ixv-16691">4.3</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="rgr:ShippingCosts" scale="6" unitRef="usd" id="ixv-16692">4.4</ix:nonFraction> million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="rgr:ShippingCosts" scale="6" unitRef="usd" id="ixv-16693">4.7</ix:nonFraction> million in 2024, 2023, and 2022, respectively.</p></ix:continuation></ix:continuation><div>

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

</div><!-- Field: Page; Sequence: 58 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->58<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation id="_SignificantAccountingPoliciesTextBlock-c0_cont_4"><ix:nonNumeric contextRef="c0" continuedAt="_ResearchAndDevelopmentExpensePolicy-c0_cont_1" escape="true" name="us-gaap:ResearchAndDevelopmentExpensePolicy" id="ixv-10866"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Research and Development</span></p></ix:nonNumeric>

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

<ix:continuation id="_ResearchAndDevelopmentExpensePolicy-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, 2023, and 2022, the Company spent approximately
$<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="6" unitRef="usd" id="ixv-16694">8.2</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="6" unitRef="usd" id="ixv-16695">9.8</ix:nonFraction> million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="6" unitRef="usd" id="ixv-16696">9.6</ix:nonFraction> million, respectively, on research and development activities relating to new products and the improvement
of existing products. These costs are included in costs of products sold and are expensed as incurred. These costs are capitalized for
tax purposes under the provisions of the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174, as discussed in Note 13.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_EarningsPerSharePolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:EarningsPerSharePolicyTextBlock" id="ixv-10873"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Earnings per Share</span></p></ix:nonNumeric>

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

<ix:continuation id="_EarningsPerSharePolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Basic earnings per share is based upon the weighted-average
number of shares of common stock outstanding during the year. Diluted earnings per share reflect the impact of restricted stock units
and deferred stock outstanding using the treasury stock method.</p></ix:continuation>

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

<ix:nonNumeric contextRef="c0" continuedAt="_NewAccountingPronouncementsPolicyPolicyTextBlock-c0_cont_1" escape="true" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="ixv-10880"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Recent Accounting Pronouncements</span></p></ix:nonNumeric>

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

<ix:continuation continuedAt="_NewAccountingPronouncementsPolicyPolicyTextBlock-c0_cont_2" id="_NewAccountingPronouncementsPolicyPolicyTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In November of 2023, the FASB issued ASU 2023-07,
&#8220;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#8221; The updated accounting guidance requires
enhanced reportable segment disclosures, primarily related to significant segment expenses which are regularly provided to the chief operating
decision maker. The guidance is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning
after December 15, 2024. The Company adopted ASU 2023-07, beginning with the current filing. The adoption of the new guidance required
additional disclosures, but did not have a material impact to the Company. Refer to Note 17, Operating Segment Information, for the updated
presentation.</p></ix:continuation>

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

<ix:continuation continuedAt="_NewAccountingPronouncementsPolicyPolicyTextBlock-c0_cont_3" id="_NewAccountingPronouncementsPolicyPolicyTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In December of 2023, the FASB issued ASU 2023-09,
&#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#8221; The updated accounting guidance requires expanded income
tax disclosures, including the disaggregation of existing disclosures related to the effective tax rate reconciliation and income taxes
paid. The guidance is effective for fiscal years beginning after December 15, 2024. Prospective application is required, with retrospective
application permitted. The Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.</p></ix:continuation>

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

<ix:continuation id="_NewAccountingPronouncementsPolicyPolicyTextBlock-c0_cont_3"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In November 2024, the FASB issued ASU No. 2024-03,
&#8220;Income Statement&#8212;Reporting Comprehensive Income&#8212;Expense Disaggregation Disclosures,&#8221; which requires additional
disclosure of certain costs and expenses within the notes to the financial statements. The updated standard is effective for annual reporting
periods beginning after December 15, 2026 and interim reporting periods within annual reporting periods beginning after December 15,
2027. The requirements will be applied prospectively with the option for retrospective application. Early adoption is permitted. The
Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.</p></ix:continuation></ix:continuation><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><!-- Field: Page; Sequence: 59 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->59<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="ixv-10906"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>2. Revenue Recognition and Contracts with Customers</b></p>

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

<ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="ixv-10910"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The impact of ASC 60<span style="font-family: Times New Roman, Times, Serif">6
on revenue recognized during the years ended December 31, 2024, December 31, 2023, and</span> December 31, 2022 is as follows:</p>

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

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">&#160;</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left; text-indent: -0.3in; padding-left: 0.3in">Contract liabilities with customers at January 1,</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiability" scale="3" unitRef="usd" id="ixv-16697">149</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c30" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiability" scale="3" unitRef="usd" id="ixv-16698">1,031</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-18">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Revenue recognized</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeRevenueRecognized" scale="3" unitRef="usd" id="ixv-16699">149</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeRevenueRecognized" scale="3" unitRef="usd" id="ixv-16700">4,084</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-19">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Revenue deferred</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-20">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenueAdditions" scale="3" unitRef="usd" id="ixv-16701">3,202</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredRevenueAdditions" scale="3" unitRef="usd" id="ixv-16702">1,031</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left; text-indent: -0.3in; padding-left: 0.3in">Contract liabilities with customers at December 31,</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-21">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiability" scale="3" unitRef="usd" id="ixv-16703">149</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c30" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ContractWithCustomerLiability" scale="3" unitRef="usd" id="ixv-16704">1,031</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During the year ended December 31, 2024, the Company
did not defer any revenue and recognized $<ix:nonFraction contextRef="c3" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="6" unitRef="usd" id="ixv-16705">0.1</ix:nonFraction> million of revenue previously deferred as the performance obligations relating to the shipment
of free products were satisfied. This resulted in a net increase in firearms sales for the year ended December 31, 2024 of $<ix:nonFraction contextRef="c3" decimals="-5" format="ixt:num-dot-decimal" name="rgr:NetIncreaseInFirearmsSales" scale="6" unitRef="usd" id="ixv-16706">0.1</ix:nonFraction> million
and there being <span style="-sec-ix-hidden: hidden-fact-22">no</span> deferred contract revenue liability at December 31, 2024.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During the year ended December 31, 2023, the Company
deferred $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="rgr:DeferredOfRevenue" scale="6" unitRef="usd" id="ixv-16707">3.2</ix:nonFraction> million of revenue, offset by the recognition of $<ix:nonFraction contextRef="c4" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="6" unitRef="usd" id="ixv-16708">4.1</ix:nonFraction> million of revenue previously deferred as the performance obligations
relating to the shipment of free products were satisfied. This resulted in a net increase in firearms sales for the year ended December
31, 2023 of $<ix:nonFraction contextRef="c4" decimals="-5" format="ixt:num-dot-decimal" name="rgr:NetIncreaseInFirearmsSales" scale="6" unitRef="usd" id="ixv-16709">0.9</ix:nonFraction> million and a deferred contract revenue liability at December 31, 2023 of $<ix:nonFraction contextRef="c4" decimals="-5" format="ixt:num-dot-decimal" name="rgr:DeferredContractRevenueLiability" scale="6" unitRef="usd" id="ixv-16710">0.1</ix:nonFraction> million.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During the year ended December 31, 2022, the Company
deferred $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="rgr:DeferredOfRevenue" scale="6" unitRef="usd" id="ixv-16711">1.0</ix:nonFraction> million of revenue. There was no offset for the recognition from previously deferred revenue as the Company did not satisfy
any performance obligations relating to the shipment of free products during the year. This resulted in a net decrease in firearms sales
for the year ended December 31, 2022 of $<ix:nonFraction contextRef="c30" decimals="-5" format="ixt:num-dot-decimal" name="rgr:NetDecreaseInFirearmsSales" scale="6" unitRef="usd" id="ixv-16712">1.0</ix:nonFraction> million and a deferred contract revenue liability at December 31, 2022 of $<ix:nonFraction contextRef="c30" decimals="-5" format="ixt:num-dot-decimal" name="rgr:DeferredContractRevenueLiability" scale="6" unitRef="usd" id="ixv-16713">1.0</ix:nonFraction> million.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Practical Expedients and Exemptions</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has elected to account for shipping
and handling activities that occur after control of the related product transfers to the customer as fulfillment activities that are
recognized upon shipment of the goods.</p></ix:nonNumeric><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><!-- Field: Page; Sequence: 60 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->60<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" id="ixv-11054"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>3. Trade Receivables, Net</b></p>

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

<ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" id="ixv-11058"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Trade receivables consist of the following:</p>

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

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Trade receivables</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" unitRef="usd" id="ixv-16714">68,855</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" unitRef="usd" id="ixv-16715">61,428</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Allowance for doubtful accounts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" unitRef="usd" id="ixv-16716">400</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" unitRef="usd" id="ixv-16717">400</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Allowance for discounts</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="rgr:AllowanceForDiscountssAccountsReceivableCurrent" scale="3" unitRef="usd" id="ixv-16718">1,310</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="rgr:AllowanceForDiscountssAccountsReceivableCurrent" scale="3" unitRef="usd" id="ixv-16719">1,164</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" unitRef="usd" id="ixv-16720">67,145</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" unitRef="usd" id="ixv-16721">59,864</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, the largest individual trade receivable
balances accounted for <ix:nonFraction contextRef="c53" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-16722">26</ix:nonFraction>%, <ix:nonFraction contextRef="c54" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-16723">20</ix:nonFraction>%, <ix:nonFraction contextRef="c55" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-16724">14</ix:nonFraction>%, and <ix:nonFraction contextRef="c56" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-16725">11</ix:nonFraction>% of total trade receivables, respectively.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, the largest individual trade receivable
balances accounted for <ix:nonFraction contextRef="c57" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-16726">22</ix:nonFraction>%, <ix:nonFraction contextRef="c58" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-16727">20</ix:nonFraction>%, and <ix:nonFraction contextRef="c59" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-16728">17</ix:nonFraction>% of total trade receivables, respectively.</p></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:InventoryDisclosureTextBlock" id="ixv-11125"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>4. Inventories</b></p>

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

<ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="ixv-11129"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Inventories consist of the following:</p>

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

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap">December 31,</td><td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2024</td><td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2023</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal">&#160;</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal">Inventory at FIFO</span></p></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left; padding-left: 21.8pt">Finished goods</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryFinishedGoods" scale="3" unitRef="usd" id="ixv-16729">26,022</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryFinishedGoods" scale="3" unitRef="usd" id="ixv-16730">30,989</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 21.8pt">Materials and products in process</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryWorkInProcessAndRawMaterials" scale="3" unitRef="usd" id="ixv-16731">123,395</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryWorkInProcessAndRawMaterials" scale="3" unitRef="usd" id="ixv-16732">119,203</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryGross" scale="3" unitRef="usd" id="ixv-16733">149,417</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryGross" scale="3" unitRef="usd" id="ixv-16734">150,192</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 21.8pt">Less:&#160;&#160;LIFO reserve</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryLIFOReserve" scale="3" unitRef="usd" id="ixv-16735">66,398</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryLIFOReserve" scale="3" unitRef="usd" id="ixv-16736">64,262</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 21.8pt">Less:&#160;&#160;excess and obsolescence reserve</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryValuationReserves" scale="3" unitRef="usd" id="ixv-16737">6,533</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryValuationReserves" scale="3" unitRef="usd" id="ixv-16738">6,120</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Net inventories</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryNet" scale="3" unitRef="usd" id="ixv-16739">76,486</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:InventoryNet" scale="3" unitRef="usd" id="ixv-16740">79,810</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_PropertyPlantAndEquipmentDisclosureTextBlock-c0_cont_1" escape="true" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="ixv-11218"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>5. Property, Plant and Equipment</b></p>

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

<ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="ixv-11222"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Property, plant and equipment consist of the following:</p>

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

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Land and improvements</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c60" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-16741">2,826</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c61" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-16742">2,826</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Buildings and improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c62" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-16743">76,153</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c63" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-16744">74,650</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c51" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-16745">333,365</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c64" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-16746">322,730</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Dies and tools</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c52" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-16747">65,278</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c65" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-16748">62,191</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Property, plant and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-16749">477,622</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" unitRef="usd" id="ixv-16750">462,397</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Less allowances for depreciation</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-16751">406,373</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-16752">390,863</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Net property, plant and equipment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" unitRef="usd" id="ixv-16753">71,249</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" unitRef="usd" id="ixv-16754">71,534</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric></ix:nonNumeric><div>

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

</div><!-- Field: Page; Sequence: 61 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->61<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation id="_PropertyPlantAndEquipmentDisclosureTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Depreciation expense totaled $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="6" unitRef="usd" id="ixv-16755">21.1</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="6" unitRef="usd" id="ixv-16756">21.1</ix:nonFraction>
million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="6" unitRef="usd" id="ixv-16757">24.4</ix:nonFraction> million in 2024, 2023, and 2022, respectively.</p></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:OtherAssetsDisclosureTextBlock" id="ixv-11332"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>6. Other Assets</b></p>

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

<ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:ScheduleOfOtherAssetsTableTextBlock" id="ixv-11336"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other assets consist of the following:</p>

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

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 74%; text-align: left">Patents, at cost</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedPatentsGross" scale="3" unitRef="usd" id="ixv-16758">10,339</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedPatentsGross" scale="3" unitRef="usd" id="ixv-16759">10,280</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deposits on capital items</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DepositAssets" scale="3" unitRef="usd" id="ixv-16760">18,443</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DepositAssets" scale="3" unitRef="usd" id="ixv-16761">23,045</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Marlin trade name, at cost</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IndefiniteLivedTradeNames" scale="3" unitRef="usd" id="ixv-16762">7,800</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IndefiniteLivedTradeNames" scale="3" unitRef="usd" id="ixv-16763">7,800</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Accumulated amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" unitRef="usd" id="ixv-16764">8,008</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" unitRef="usd" id="ixv-16765">7,171</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsMiscellaneous" scale="3" unitRef="usd" id="ixv-16766">9,173</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsMiscellaneous" scale="3" unitRef="usd" id="ixv-16767">9,958</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" unitRef="usd" id="ixv-16768">37,747</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" unitRef="usd" id="ixv-16769">43,912</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The capitalized cost of patents is amortized using
the straight-line method over their useful lives. Expenses related to patent amortization was $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" unitRef="usd" id="ixv-16770">0.5</ix:nonFraction> million in 2024, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" unitRef="usd" id="ixv-16771">0.4</ix:nonFraction> million in 2023,
and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" unitRef="usd" id="ixv-16772">0.4</ix:nonFraction> million in 2022. The estimated annual patent amortization expense for each of the next five years is $<ix:nonFraction contextRef="c3" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" scale="6" unitRef="usd" id="ixv-16773">0.4</ix:nonFraction> million. Costs incurred
to maintain existing patents are charged to expense in the year incurred. The Marlin trade name will be amortized using the straight-line
method over its useful life. The estimated annual trade name amortization cost for each of the next five years is $<ix:nonFraction contextRef="c66" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="6" unitRef="usd" id="ixv-16774"><ix:nonFraction contextRef="c66" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="6" unitRef="usd" id="ixv-16775"><ix:nonFraction contextRef="c66" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="6" unitRef="usd" id="ixv-16776"><ix:nonFraction contextRef="c66" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="6" unitRef="usd" id="ixv-16777"><ix:nonFraction contextRef="c66" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="6" unitRef="usd" id="ixv-16778">0.4</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> million. The intangible
asset related to Marlin customer relationships are included in Other above and will be amortized using the straight-line method over its
useful life. The estimated annual customer relationship name amortization expense for each of the next five years is $<ix:nonFraction contextRef="c67" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="6" unitRef="usd" id="ixv-16779"><ix:nonFraction contextRef="c67" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="6" unitRef="usd" id="ixv-16780"><ix:nonFraction contextRef="c67" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="6" unitRef="usd" id="ixv-16781"><ix:nonFraction contextRef="c67" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="6" unitRef="usd" id="ixv-16782"><ix:nonFraction contextRef="c67" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="6" unitRef="usd" id="ixv-16783">0.1</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> million.</p></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_LesseeOperatingLeasesTextBlock-c0_cont_1" escape="true" name="us-gaap:LesseeOperatingLeasesTextBlock" id="ixv-11421"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>7. Leased Assets</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company leases certain of its real estate
and equipment. The Company has evaluated all its leases and determined that all are operating leases under the definitions of the guidance
of ASU 2016-02. The Company&#8217;s lease agreements generally do not require material variable lease payments, residual value guarantees
or restrictive covenants.</p></ix:nonNumeric><div>

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

</div><!-- Field: Page; Sequence: 62 --><div>
    </div><div style="border-bottom: Black 2pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->62<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation continuedAt="_LesseeOperatingLeasesTextBlock-c0_cont_2" id="_LesseeOperatingLeasesTextBlock-c0_cont_1"><ix:nonNumeric contextRef="c0" continuedAt="_LeaseCostTableTextBlock-c0_cont_1" escape="true" name="us-gaap:LeaseCostTableTextBlock" id="ixv-11440"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company uses the effective interest method
to record right-of-use assets equal to the present value of the contractual liability for future lease payments. The table below presents
the right-of-use assets and related lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2024:</p>

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

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"> <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">Balance Sheet Line<br/> Item</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td> <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">December 31,<br/> 2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td> <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">December 31,<br/> 2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: right">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 49%; text-align: left">Right-of-use assets</td><td style="width: 1%">&#160;</td> <td style="width: 20%; text-align: center">Other assets</td><td style="width: 1%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction contextRef="c68" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" unitRef="usd" id="ixv-16784">2,345</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction contextRef="c69" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" unitRef="usd" id="ixv-16785">2,781</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 0pt">Operating lease liabilities</td><td>&#160;</td> <td style="text-align: center">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="vertical-align: top; text-align: left; padding-left: 18.55pt">&#160;</td><td>&#160;</td> <td style="text-align: center; text-indent: 5.3pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="vertical-align: top; text-align: left; padding-left: 18.55pt">Current portion</td><td>&#160;</td> <td style="text-align: center; text-indent: 5.3pt">Trade accounts payable and accrued expenses</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c70" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" unitRef="usd" id="ixv-16786">598</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c71" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" unitRef="usd" id="ixv-16787">611</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="vertical-align: top; text-align: left; padding-left: 18.55pt">&#160;</td><td>&#160;</td> <td style="text-align: center; text-indent: 5.3pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 18.55pt">Noncurrent portion</td><td>&#160;</td> <td style="text-align: center; text-indent: 5.3pt">Lease liabilities</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c72" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" unitRef="usd" id="ixv-16788">1,747</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c73" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" unitRef="usd" id="ixv-16789">2,170</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="border-bottom: Black 1pt solid; padding-left: 18.55pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="border-bottom: Black 2.5pt double; text-align: left">Total operating lease liabilities</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: right">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiability" scale="3" unitRef="usd" id="ixv-16790">2,345</ix:nonFraction></td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiability" scale="3" unitRef="usd" id="ixv-16791">2,781</ix:nonFraction></td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td></tr> </table></ix:nonNumeric>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The depreciable lives of right-of-use assets are
limited by the lease term and are amortized on a straight line basis over the life of the lease.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s leases generally do not provide
an implicit interest rate, and therefore the Company calculates an incremental borrowing rate to determine the present value of its operating
lease liabilities.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">The table below includes cash
paid for our operating lease liabilities, other non-cash information, our weighted average remaining lease term and weighted average discount
rate:</p>

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

<ix:continuation id="_LeaseCostTableTextBlock-c0_cont_1"><table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"> <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; padding-left: 0pt; white-space: nowrap; text-indent: 0pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td> <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">Year Ended</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr> <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"> <td style="font: bold 8pt Times New Roman, Times, Serif; padding-left: 0pt; white-space: nowrap; border-bottom: Black 1pt solid; text-indent: 0pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td> <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">December 31,<br/> 2024</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td> <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">December 31,<br/> 2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr> <tr style="vertical-align: bottom"> <td style="padding-left: 0pt; white-space: nowrap; text-indent: 0pt">&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: center">&#160;</td><td>&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-indent: 0pt; width: 74%; text-align: left; padding-left: 0pt">Cash paid for amounts included in the measurement of lease liabilities </td><td style="width: 1%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeasePayments" scale="3" unitRef="usd" id="ixv-16792">796</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeasePayments" scale="3" unitRef="usd" id="ixv-16793">796</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: 0pt; text-align: left; padding-left: 0pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; text-indent: 0pt; padding-left: 0pt">Cash amounts paid for short-term leases</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShortTermLeasePayments" scale="3" unitRef="usd" id="ixv-16794">449</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ShortTermLeasePayments" scale="3" unitRef="usd" id="ixv-16795">565</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: 0pt; padding-left: 0pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-indent: 0pt; text-align: left; padding-left: 0pt">Right-of-use assets obtained in exchange for lease liabilities</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: hidden-fact-23">&#8212;</span></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: hidden-fact-24">&#8212;</span></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: 0pt; padding-left: 0pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; text-indent: 0pt; padding-left: 0pt">Weighted average remaining lease term (years)</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonNumeric contextRef="c3" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="ixv-16796">7.7</ix:nonNumeric></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonNumeric contextRef="c4" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="ixv-16797">7.9</ix:nonNumeric></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: 0pt; padding-left: 0pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="border-bottom: Black 1pt solid; text-indent: 0pt; padding-left: 0pt">Weighted average discount rate</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" unitRef="pure" id="ixv-16798">8.0</ix:nonFraction>%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" unitRef="pure" id="ixv-16799">5.0</ix:nonFraction>%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr> </table></ix:continuation></ix:continuation><div>


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

</div><!-- Field: Page; Sequence: 63 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->63<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation id="_LesseeOperatingLeasesTextBlock-c0_cont_2"><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="ixv-11715"><p style="margin: 0pt 0; font: 10pt Times New Roman, Times, Serif">The following table reconciles the undiscounted future minimum lease
payments to the total operating lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2024:</p>

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

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 87%; text-align: left; padding-left: 30pt">2025</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" unitRef="usd" id="ixv-16800">765</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" unitRef="usd" id="ixv-16801">771</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" unitRef="usd" id="ixv-16802">295</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" unitRef="usd" id="ixv-16803">160</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">2029</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" scale="3" unitRef="usd" id="ixv-16804">160</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 30pt; vertical-align: bottom">Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" scale="3" unitRef="usd" id="ixv-16805">800</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">Total undiscounted future minimum lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" unitRef="usd" id="ixv-16806">2,951</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-bottom: 1pt; text-indent: -22.5pt; padding-left: 53.25pt">Less: Difference between undiscounted lease payments &amp; the present value of future lease payments</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" unitRef="usd" id="ixv-16807">606</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-bottom: 2.5pt; padding-left: 30pt">Total operating lease liabilities</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction contextRef="c74" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingLeaseLiability" scale="3" unitRef="usd" id="ixv-16808">2,345</ix:nonFraction></td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Certain of the Company&#8217;s lease agreements
contain renewal options at the Company&#8217;s discretion. The Company does not recognize right-of-use assets or lease liabilities for
leases of one year or less or for renewal periods unless it is reasonably certain that the Company will exercise the renewal option at
the inception of the lease or when a triggering event occurs. The Company&#8217;s weighted average remaining lease term for operating
leases as of December 31, 2024 is <ix:nonNumeric contextRef="c3" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="ixv-16809">7.7</ix:nonNumeric> years.</p></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" id="ixv-11778"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>8. Trade Accounts Payable and Accrued Expenses</b></p>

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

<ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" id="ixv-11782"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Trade accounts payable and accrued expenses consist
of the following:</p>

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

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Trade accounts payable</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableTradeCurrent" scale="3" unitRef="usd" id="ixv-16810">13,170</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableTradeCurrent" scale="3" unitRef="usd" id="ixv-16811">11,100</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Federal excise taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedIncomeTaxesCurrent" scale="3" unitRef="usd" id="ixv-16812">13,192</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccruedIncomeTaxesCurrent" scale="3" unitRef="usd" id="ixv-16813">11,954</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Accrued other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAccountsPayableAndAccruedLiabilities" scale="3" unitRef="usd" id="ixv-16814">9,388</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OtherAccountsPayableAndAccruedLiabilities" scale="3" unitRef="usd" id="ixv-16815">8,654</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" scale="3" unitRef="usd" id="ixv-16816">35,750</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" scale="3" unitRef="usd" id="ixv-16817">31,708</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" id="ixv-11846"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>9. Accrued Dividends</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On November 30, 2022, the Company&#8217;s Board
of Directors declared a $<ix:nonFraction contextRef="c75" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:DividendsPayableAmountPerShare" scale="0" unitRef="usdPershares" id="ixv-16818">5.00</ix:nonFraction> per share special dividend payable on January 5, 2023 to stockholders of record as of <ix:nonNumeric contextRef="c76" format="ixt:date-monthname-day-year-en" name="us-gaap:DividendsPayableDateOfRecordDayMonthAndYear" id="ixv-16819">December 15, 2022</ix:nonNumeric>.
The dividend, which totaled $<ix:nonFraction contextRef="c77" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DividendsPayableCurrentAndNoncurrent" scale="6" unitRef="usd" id="ixv-16820">88.3</ix:nonFraction> million, was paid on <ix:nonNumeric contextRef="c78" format="ixt:date-monthname-day-year-en" name="us-gaap:DividendPayableDateToBePaidDayMonthAndYear" id="ixv-16821">January 5, 2023</ix:nonNumeric>.</p></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_DebtDisclosureTextBlock-c0_cont_1" escape="true" name="us-gaap:DebtDisclosureTextBlock" id="ixv-11854"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>10. Line of Credit</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On January 7, 2022, the Company entered into a
three-year, $<ix:nonFraction contextRef="c79" decimals="-6" format="ixt:num-dot-decimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" unitRef="usd" id="ixv-16822">40</ix:nonFraction> million unsecured revolving line of credit agreement with a bank. On June 6, 2024, the Company amended its existing line
of credit agreement, which now expires <ix:nonNumeric contextRef="c80" format="ixt:date-monthname-day-year-en" name="us-gaap:LineOfCreditFacilityExpirationDate1" id="ixv-16823">January 7, 2028</ix:nonNumeric>. Borrowings under this new facility bear interest at the applicable Secured Overnight
Financing Rate (SOFR), plus 150 basis points, plus an additional adjustment of eight basis points. The Company is also charged one-quarter
of a percent </p></ix:nonNumeric><div>

</div><!-- Field: Page; Sequence: 64 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->64<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><ix:continuation id="_DebtDisclosureTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">(<ix:nonFraction contextRef="c80" decimals="4" format="ixt:num-dot-decimal" name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" scale="-2" unitRef="pure" id="ixv-16824">0.25</ix:nonFraction>%) per year on the unused portion. At December 31, 2024, the Company was in compliance with the terms and covenants
of the credit facility.</p></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="ixv-11873"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>11. Employee Benefit Plans</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company sponsors a qualified defined-contribution
401(k) plan that covers substantially all of its employees. Under the terms of the 401(k) plan, the Company matches a certain portion
of employee contributions to their individual 401(k) accounts using the &#8220;safe harbor&#8221; guidelines provided in the Internal
Revenue Code. Expenses related to matching employee contributions to the 401(k) plan were $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanAdministrativeExpenses" scale="6" unitRef="usd" id="ixv-16825">4.1</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanAdministrativeExpenses" scale="6" unitRef="usd" id="ixv-16826">4.7</ix:nonFraction> million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanAdministrativeExpenses" scale="6" unitRef="usd" id="ixv-16827">4.1</ix:nonFraction> million
in 2024, 2023, and 2022, respectively.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Additionally, in 2024, 2023, and 2022 the Company
provided discretionary supplemental contributions to the individual 401(k) accounts of substantially all employees. Each employee received
a supplemental contribution to their account based on a uniform percentage of qualifying compensation established annually. The cost of
these supplemental contributions totaled $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" scale="6" unitRef="usd" id="ixv-16828">7.0</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" scale="6" unitRef="usd" id="ixv-16829">6.9</ix:nonFraction> million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" scale="6" unitRef="usd" id="ixv-16830">7.4</ix:nonFraction> million in 2024, 2023, and 2022, respectively.</p></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock" id="ixv-11884"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>12. Other Operating Income, Net</b></p>

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

<ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" id="ixv-11889"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other operating income, net consists of the following:</p>

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

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap">Year ended December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 61%">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Gain on sale of operating assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-25">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GainLossOnSaleOfOtherAssets" scale="3" unitRef="usd" id="ixv-16831">5</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GainLossOnSaleOfOtherAssets" scale="3" unitRef="usd" id="ixv-16832">36</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_IncomeTaxDisclosureTextBlock-c0_cont_1" escape="true" name="us-gaap:IncomeTaxDisclosureTextBlock" id="ixv-11937"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>13. Income Taxes </b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company files income tax returns in the U.S.
federal jurisdiction and various state jurisdictions. With few exceptions, the Company is no longer subject to U.S. federal and state
income tax examinations by tax authorities for years before 2017.</p>

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

<ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:FederalIncomeTaxNoteTextBlock" id="ixv-11944"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The federal and state income tax provision consisted of the following:</p>

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

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap">Year ended December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Current</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Deferred</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Current</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Deferred</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Current</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Deferred</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 22%">Federal</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-16833">10,310</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-16834">4,190</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-16835">14,763</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-16836">5,285</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-16837">21,741</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-16838">4,694</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">State</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-16839">1,607</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-16840">515</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-16841">1,713</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-16842">582</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-16843">3,779</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-16844">879</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-16845">11,917</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-16846">4,705</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-16847">16,476</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-16848">5,867</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" unitRef="usd" id="ixv-16849">25,520</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" sign="-" unitRef="usd" id="ixv-16850">5,573</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  </table></ix:nonNumeric></ix:nonNumeric><div>

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

</div><!-- Field: Page; Sequence: 65 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->65<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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


</div><ix:continuation id="_IncomeTaxDisclosureTextBlock-c0_cont_1"><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="ixv-12091"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The effective income tax rate varied from the statutory federal income
tax rate as follows:</p>

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

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left; text-indent: -13.75pt; padding-left: 13.75pt">Statutory federal income tax rate</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" unitRef="pure" id="ixv-16851">21.0</ix:nonFraction>%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c15" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" unitRef="pure" id="ixv-16852">21.0</ix:nonFraction>%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c16" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" unitRef="pure" id="ixv-16853">21.0</ix:nonFraction>%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.75pt; padding-left: 13.75pt">State income taxes, net of federal tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" unitRef="pure" id="ixv-16854">1.5</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" unitRef="pure" id="ixv-16855">2.2</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" unitRef="pure" id="ixv-16856">2.7</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Research and development tax credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" unitRef="pure" id="ixv-16857">5.9</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c15" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" unitRef="pure" id="ixv-16858">2.7</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c16" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" unitRef="pure" id="ixv-16859">4.2</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" unitRef="pure" id="ixv-16860">2.5</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c15" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" sign="-" unitRef="pure" id="ixv-16861">2.5</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c16" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" sign="-" unitRef="pure" id="ixv-16862">1.1</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt">Effective income tax rate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" unitRef="pure" id="ixv-16863">19.1</ix:nonFraction>%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" unitRef="pure" id="ixv-16864">18.0</ix:nonFraction>%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" unitRef="pure" id="ixv-16865">18.4</ix:nonFraction>%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company estimates that its effective tax rate
in 2025 will approximate <ix:nonFraction contextRef="c81" decimals="3" format="ixt:num-dot-decimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" unitRef="pure" id="ixv-16866">20.3</ix:nonFraction>%.</p>

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

<ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="ixv-12180"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Significant components of the Company&#8217;s
deferred tax assets and liabilities are as follows:</p>

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

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Deferred tax assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 74%; text-align: left; padding-left: 22.5pt">Capitalized research and development costs</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" scale="3" unitRef="usd" id="ixv-16867">12,566</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" scale="3" unitRef="usd" id="ixv-16868">9,144</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 22.5pt">Employee compensation and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" scale="3" unitRef="usd" id="ixv-16869">2,483</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" scale="3" unitRef="usd" id="ixv-16870">2,452</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 22.5pt">Allowances for doubtful accounts and discounts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" scale="3" unitRef="usd" id="ixv-16871">452</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" scale="3" unitRef="usd" id="ixv-16872">431</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 22.5pt">Inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsInventory" scale="3" unitRef="usd" id="ixv-16873">1,831</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsInventory" scale="3" unitRef="usd" id="ixv-16874">1,635</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 22.5pt">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" scale="3" unitRef="usd" id="ixv-16875">1,876</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" scale="3" unitRef="usd" id="ixv-16876">1,698</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 22.5pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" unitRef="usd" id="ixv-16877">1,537</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" unitRef="usd" id="ixv-16878">1,608</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Total deferred tax assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" unitRef="usd" id="ixv-16879">20,745</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" unitRef="usd" id="ixv-16880">16,968</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Deferred tax liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -4.5pt; padding-left: 27pt">Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-16881">2,868</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" unitRef="usd" id="ixv-16882">3,578</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-indent: -4.5pt; padding-left: 27pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" unitRef="usd" id="ixv-16883">1,196</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" unitRef="usd" id="ixv-16884">1,414</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Total deferred tax liabilities</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" unitRef="usd" id="ixv-16885">4,064</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" unitRef="usd" id="ixv-16886">4,992</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Net deferred tax assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" unitRef="usd" id="ixv-16887">16,681</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" unitRef="usd" id="ixv-16888">11,976</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, the Company adopted the provisions of
the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174. Under these provisions, research and development costs must be
capitalized and amortized over <ix:nonNumeric contextRef="c0" format="ixt-sec:durwordsen" name="rgr:CapitalizedAndAmortizedOverForIncomeTaxPurposes" id="ixv-16889">five years</ix:nonNumeric> for income tax purposes. The Company continues to expense these costs in the period incurred
for financial accounting purposes.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company made income tax payments of approximately
$<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxesPaidNet" scale="6" unitRef="usd" id="ixv-16890">10.6</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxesPaidNet" scale="6" unitRef="usd" id="ixv-16891">26.0</ix:nonFraction> million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:IncomeTaxesPaidNet" scale="6" unitRef="usd" id="ixv-16892">28.7</ix:nonFraction> million, during 2024, 2023, and 2022, respectively. The Company expects to realize its deferred
tax assets through tax deductions against future taxable income<i>. </i></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company does not believe it has included
any &#8220;uncertain tax positions&#8221; in its federal income tax return or any of the state income tax returns it is currently filing.
The Company has made an evaluation of the potential impact of additional state taxes being assessed by jurisdictions in which the Company
does not currently consider itself liable. The Company does not anticipate that such additional taxes, if any, would result in a material
change to its financial position.</p></ix:continuation><div>

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

</div><!-- Field: Page; Sequence: 66 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->66<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:EarningsPerShareTextBlock" id="ixv-12350"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>14. Earnings Per Share</b></p>

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

<ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="ixv-12354"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Set forth below is a reconciliation of the numerator
and denominator for the basic and diluted earnings per share calculations for the periods indicated:</p>

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

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Numerator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 61%; text-align: left; text-indent: 17.9pt; padding-left: 0.1pt">Net income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16893">30,563</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16894">48,215</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-16895">88,332</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Denominator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -9pt; padding-left: 27pt">Weighted average number of common shares outstanding &#8211; Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-16896">17,088,205</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c15" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-16897">17,676,955</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c16" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" unitRef="shares" id="ixv-16898">17,648,850</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -9pt; padding-left: 27pt">Dilutive effect of options and restricted stock units outstanding under the Company&#8217;s employee compensation plans</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" unitRef="shares" id="ixv-16899">181,896</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" unitRef="shares" id="ixv-16900">134,263</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" unitRef="shares" id="ixv-16901">144,498</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -27pt; padding-left: 27pt">Weighted average number of common shares outstanding &#8211; Diluted</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-16902">17,270,101</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-16903">17,811,218</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" unitRef="shares" id="ixv-16904">17,793,348</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="rgr_StockRepurchasesDisclosureTextBlock-c0_cont_1" escape="true" name="rgr:StockRepurchasesDisclosureTextBlock" id="ixv-12469"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>15. Stock Repurchases</b></p>

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

<ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfTreasuryStockByClassTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfTreasuryStockByClassTextBlock" id="ixv-12473"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, 2023, and 2022 the Company repurchased
shares of its common stock. Details of these purchases are as follows:</p>

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

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

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid">Period</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Total <br/>
Number of <br/>
Shares <br/>
Purchased</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Average <br/>
Price Paid<br/>
 per Share</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Total Number <br/>
of Shares<br/>
 Purchased as <br/>
Part of <br/>
Publicly<br/>
 Announced<br/>
 Program</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Maximum <br/>
Dollar Value <br/>
of Shares that<br/>
 May Yet Be <br/>
Purchased <br/>
Under the<br/>
 Program</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 2.7pt">Third Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 16.2pt">July 3 to July 30</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-26">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-27">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-28">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 16.2pt">July 31 to August 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-29">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-30">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-31">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; width: 48%; padding-left: 16.2pt">August 28 to October 1</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"><ix:nonFraction contextRef="c86" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16905">2,136</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"><ix:nonFraction contextRef="c86" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16906">49.97</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"><ix:nonFraction contextRef="c87" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16907">2,136</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 2.7pt">Fourth Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 16.2pt">October 2 to October 29</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-32">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-33">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-34">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 16.2pt">October 30 to November 26</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c90" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16908">2,304</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c90" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16909">49.77</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c91" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16910">2,304</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 16.2pt">November 27 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-35">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-36">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-37">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 2.7pt">Fourth Quarter 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 16.2pt">October 1 to October 28</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-38">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-39">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-40">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 16.2pt">October 29 to November 25</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c96" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16911">179,341</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c96" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16912">45.20</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c97" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16913">179,341</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 16.2pt">November 26 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c98" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16914">84,721</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c98" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16915">43.67</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c99" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16916">84,721</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric></ix:nonNumeric><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p><div>

</div><!-- Field: Page; Sequence: 67 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->67<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

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

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

</div><ix:continuation id="rgr_StockRepurchasesDisclosureTextBlock-c0_cont_1"><ix:continuation id="_ScheduleOfTreasuryStockByClassTextBlock-c0_cont_1"><table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: White; font-size: 10pt">
    <td style="border-top: Black 1pt solid; text-align: left">First Quarter 2024</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; padding-left: 0.3in">January 1 to January 27</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c100" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16917">7,317</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c100" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16918">43.42</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c101" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16919">7,317</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">January 28 to February 24</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c102" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16920">20,307</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c102" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16921">42.93</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c103" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16922">20,307</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">February 25 to March 30</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c104" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16923">47,400</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c104" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16924">42.79</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c105" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16925">47,400</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Second Quarter 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0.3in">March 31 to April 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-41">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-42">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-43">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">April 28 to May 25</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c108" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16926">28,924</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c108" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16927">42.92</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c109" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16928">28,924</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">May 26 to June 29</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c110" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16929">373,969</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c110" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16930">42.27</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c111" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16931">373,969</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Third Quarter 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0.3in">June 30 to July 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c112" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16932">156,517</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c112" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16933">41.27</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c113" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16934">156,517</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">July 28 to August 24</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-44">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-45">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-46">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">August 25 to September 28</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c116" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16935">64,325</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c116" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16936">40.66</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c117" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16937">64,325</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Fourth Quarter 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0.3in">September 29 to October 26</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c118" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16938">11,340</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c118" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16939">40.50</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c119" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16940">11,340</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">October 27 to November 23</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c120" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16941">52,129</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c120" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16942">39.50</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c121" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16943">52,129</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">November 23 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c122" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16944">72,832</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c122" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16945">34.81</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c123" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16946">72,832</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">Total</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c124" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" unitRef="shares" id="ixv-16947">1,103,562</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c124" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" scale="0" unitRef="usdPershares" id="ixv-16948">42.07</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="INF" format="ixt:num-dot-decimal" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="0" unitRef="shares" id="ixv-16949">1,103,562</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" scale="0" unitRef="usd" id="ixv-16950">40,290,000</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:continuation>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">All of these purchases were made with cash held
by the Company and no debt was incurred</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2024, approximately $<ix:nonFraction contextRef="c3" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" scale="6" unitRef="usd" id="ixv-16951">40.3</ix:nonFraction> million
remained authorized for share repurchases.</p></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-c0_cont_1" escape="true" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="ixv-13094"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>16. Compensation Plans</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In May 2017, the Company&#8217;s shareholders
approved the 2017 Stock Incentive Plan (the &#8220;2017 SIP&#8221;) under which employees, independent contractors, and non-employee directors
may be granted stock options, restricted stock, deferred stock awards, and stock appreciation rights, any of which may or may not require
the satisfaction of performance objectives. Vesting requirements are determined by the Compensation Committee of the Board of Directors<i>.
</i>The Company has reserved <ix:nonFraction contextRef="c125" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="0" unitRef="shares" id="ixv-16952">750,000</ix:nonFraction> shares for issuance under the 2017 SIP.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In June 2023, the Company&#8217;s shareholders
approved the 2023 Stock Incentive Plan (the &#8220;2023 SIP&#8221;) under which employees, independent contractors, and non-employee directors
may be granted stock options, restricted stock, deferred stock awards, and stock appreciation rights, any of which may or may not require
the satisfaction of performance objectives. Vesting requirements are determined by the Compensation Committee of the Board of Directors.
The Company reserved <ix:nonFraction contextRef="c126" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" scale="0" unitRef="shares" id="ixv-16953">1,000,000</ix:nonFraction> shares for issuance under the 2023 SIP, of which <ix:nonFraction contextRef="c127" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" scale="0" unitRef="shares" id="ixv-16954">845,000</ix:nonFraction> shares remain available for future grants as of
December 31, 2023. Approximately 150,000 shares remaining from the 2017 SIP will be available for future grants under the terms of
the 2023 SIP. Since the shareholder approval of the 2023 SIP, no additional awards have been or will be granted under the 2017 SIP. Previously
granted and outstanding awards under the 2017 SIP will remain subject to the terms of the 2017 SIP.</p></ix:nonNumeric><div>

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

</div><!-- Field: Page; Sequence: 68 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->68<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation continuedAt="_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-c0_cont_2" id="_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Compensation expense related to deferred stock,
restricted stock, and restricted stock units is recognized based on the grant-date fair value of the Company&#8217;s common stock, using
either the actual share price or an estimated value using the Monte Carlo valuation model. The total stock-based compensation cost included
in the Statements of Income was $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" unitRef="usd" id="ixv-16955">5.8</ix:nonFraction> million, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" unitRef="usd" id="ixv-16956">6.2</ix:nonFraction> million, and $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="6" unitRef="usd" id="ixv-16957">5.7</ix:nonFraction> million in 2024, 2023, and 2022, respectively.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Deferred stock awards vest based on the passage
of time or the Company&#8217;s attainment of performance objectives. Upon vesting, these awards convert one-for-one to common stock.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, <ix:nonFraction contextRef="c128" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" unitRef="shares" id="ixv-16958">9,291</ix:nonFraction> deferred stock awards were issued
to non-employee directors that will vest in June 2025 and <ix:nonFraction contextRef="c129" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" unitRef="shares" id="ixv-16959">11,992</ix:nonFraction> deferred stock awards were issued to non-employee directors that will
vest in June 2027</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, <ix:nonFraction contextRef="c130" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" unitRef="shares" id="ixv-16960">7,566</ix:nonFraction> deferred stock awards were issued
to non-employee directors that vested in June 2024 and <ix:nonFraction contextRef="c131" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" unitRef="shares" id="ixv-16961">9,760</ix:nonFraction> deferred stock awards were issued to non-employee directors that will
vest in June 2026.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, <ix:nonFraction contextRef="c132" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" unitRef="shares" id="ixv-16962">5,953</ix:nonFraction> deferred stock awards were issued
to non-employee directors that vested in May 2023, <ix:nonFraction contextRef="c133" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" unitRef="shares" id="ixv-16963">7,688</ix:nonFraction> deferred stock awards were issued to non-employee directors that will vest in
May 2025 and a <ix:nonFraction contextRef="c134" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued" scale="0" unitRef="shares" id="ixv-16964">1,478</ix:nonFraction> deferred stock award was issued to a non-employee director that will vest in June 2027.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Compensation expense related to these awards is
amortized ratably over the vesting period. Compensation expense related to these awards was $<ix:nonFraction contextRef="c135" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense" scale="6" unitRef="usd" id="ixv-16965">0.9</ix:nonFraction> million in 2024, $<ix:nonFraction contextRef="c136" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense" scale="6" unitRef="usd" id="ixv-16966">0.9</ix:nonFraction> million in 2023,
and $<ix:nonFraction contextRef="c137" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense" scale="6" unitRef="usd" id="ixv-16967">0.8</ix:nonFraction> million in 2022.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2024, there was $<ix:nonFraction contextRef="c3" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" scale="6" unitRef="usd" id="ixv-16968">1.0</ix:nonFraction> million of
unrecognized compensation cost related to deferred stock that is expected to be recognized over a period of three years.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Restricted Stock Units</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company grants restricted stock units (RSU&#8217;s)
to senior employees. Some of these RSU&#8217;s are retention awards and have only time-based vesting. Other RSU&#8217;s have a vesting
&#8220;double trigger.&#8221; The vesting of these RSU&#8217;s is dependent on the achievement of corporate objectives established by
the Compensation Committee of the Board of Directors, including return on net operating assets, stock performance, and the passage of
time.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2024, <ix:nonFraction contextRef="c138" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="0" unitRef="shares" id="ixv-16969">153,000</ix:nonFraction> restricted stock units were
issued. Compensation costs related to these restricted stock units was $<ix:nonFraction contextRef="c138" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RestrictedStockExpense" scale="6" unitRef="usd" id="ixv-16970">6.8</ix:nonFraction> million, of which $<ix:nonFraction contextRef="c139" decimals="-5" format="ixt:num-dot-decimal" name="rgr:RecognizedCostsOfRestrictedStockUnits" scale="6" unitRef="usd" id="ixv-16971">1.9</ix:nonFraction> million was recognized in 2024. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from <ix:nonNumeric contextRef="c140" format="ixt-sec:durmonth" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-16972">24</ix:nonNumeric> to <ix:nonNumeric contextRef="c141" format="ixt-sec:durmonth" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-16973">26</ix:nonNumeric> months.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2023, <ix:nonFraction contextRef="c142" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="0" unitRef="shares" id="ixv-16974">114,000</ix:nonFraction> restricted stock units were
issued. Compensation costs related to these restricted stock units was $<ix:nonFraction contextRef="c142" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RestrictedStockExpense" scale="6" unitRef="usd" id="ixv-16975">6.1</ix:nonFraction> million, of which $<ix:nonFraction contextRef="c143" decimals="-5" format="ixt:num-dot-decimal" name="rgr:RecognizedCostsOfRestrictedStockUnits" scale="6" unitRef="usd" id="ixv-16976">1.3</ix:nonFraction> million was recognized in 2023. The
costs </p></ix:continuation><div>

</div><!-- Field: Page; Sequence: 69 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->69<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><ix:continuation id="_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">are being recognized ratably over the remaining periods required before the units vest, which range from <ix:nonNumeric contextRef="c144" format="ixt-sec:durmonth" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-16977">24</ix:nonNumeric> to <ix:nonNumeric contextRef="c145" format="ixt-sec:durmonth" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-16978">26</ix:nonNumeric> months.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2022, <ix:nonFraction contextRef="c146" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="0" unitRef="shares" id="ixv-16979">82,000</ix:nonFraction> restricted stock units were
issued. Compensation costs related to these restricted stock units was $<ix:nonFraction contextRef="c146" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RestrictedStockExpense" scale="6" unitRef="usd" id="ixv-16980">6.0</ix:nonFraction> million, of which $<ix:nonFraction contextRef="c147" decimals="-5" format="ixt:num-dot-decimal" name="rgr:RecognizedCostsOfRestrictedStockUnits" scale="6" unitRef="usd" id="ixv-16981">1.7</ix:nonFraction> million was recognized in 2022. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from <ix:nonNumeric contextRef="c148" format="ixt-sec:durmonth" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-16982">24</ix:nonNumeric> to <ix:nonNumeric contextRef="c149" format="ixt-sec:durmonth" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-16983">26</ix:nonNumeric> months.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2024, there was $<ix:nonFraction contextRef="c138" decimals="-5" format="ixt:num-dot-decimal" name="rgr:UnrecognizedCompensationCost" scale="6" unitRef="usd" id="ixv-16984">7.8</ix:nonFraction> million of
unrecognized compensation cost related to restricted stock units that is expected to be recognized over a period of <ix:nonNumeric contextRef="c138" format="ixt-sec:duryear" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="ixv-16985">3.3</ix:nonNumeric> years.</p></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_SegmentReportingDisclosureTextBlock-c0_cont_1" escape="true" name="us-gaap:SegmentReportingDisclosureTextBlock" id="ixv-13160"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>17. Operating Segment Information</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has <ix:nonFraction contextRef="c0" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" unitRef="segments" id="ixv-16986">two</ix:nonFraction> reportable operating segments:
firearms and castings. The firearms segment manufactures and sells rifles, pistols, and revolvers principally to a number of federally-licensed,
independent wholesale distributors primarily located in the United States. The castings segment manufactures and sells steel investment
castings and metal injection molding parts.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Corporate segment income relates to interest income,
the sale of non-operating assets, and other non-operating activities. Corporate segment assets consist of cash and other non-operating
assets.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company evaluates performance and allocates
resources, in part, based on income (loss) before taxes. The accounting policies of the reportable segments are the same as those described
in the summary of significant accounting policies (see Note 1). Intersegment sales are recorded at the Company&#8217;s cost plus a fixed
profit percentage.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">This segment structure reflects the financial
information and reports used by the Company&#8217;s management, specifically its CODM, to make decisions regarding the Company&#8217;s
business, including resource allocations and performance assessments, as well as the current operating focus in compliance with ASC 280,
Segment Reporting. The Company&#8217;s reportable segments are not aggregated.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s method for measuring performance
of a reportable segment is primarily gross profit. The CODM does not review disaggregated assets by segment. The Company adopted ASU 2023-07
in January 2025. The most significant provision was the required disclosure of significant segment expenses that are regularly provided
to the CODM. <ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfSegmentReportingInformationBySegmentTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="ixv-16987">The Company&#8217;s CODM periodically reviews cost of goods sold by segment and treats it as a significant segment expense.</ix:nonNumeric></p></ix:nonNumeric><div>

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

</div><!-- Field: Page; Sequence: 70 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->70<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation continuedAt="_SegmentReportingDisclosureTextBlock-c0_cont_2" id="_SegmentReportingDisclosureTextBlock-c0_cont_1"><ix:continuation id="_ScheduleOfSegmentReportingInformationBySegmentTextBlock-c0_cont_1"><table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: normal; text-align: justify">Net Sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 61%">Firearms</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c162" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-16988">532,608</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c163" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-16989">540,746</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c164" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-16990">593,289</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt">Unaffiliated</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c165" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" unitRef="usd" id="ixv-16991">3,035</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c166" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" unitRef="usd" id="ixv-16992">3,021</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c167" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" unitRef="usd" id="ixv-16993">2,553</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 20pt">Intersegment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c168" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" unitRef="usd" id="ixv-16994">31,528</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c169" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" unitRef="usd" id="ixv-16995">33,086</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c170" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" unitRef="usd" id="ixv-16996">21,306</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c171" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" unitRef="usd" id="ixv-16997">34,563</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c172" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" unitRef="usd" id="ixv-16998">36,107</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c173" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" unitRef="usd" id="ixv-16999">23,859</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Eliminations</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c174" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" sign="-" unitRef="usd" id="ixv-17000">31,528</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c175" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" sign="-" unitRef="usd" id="ixv-17001">33,086</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c176" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" sign="-" unitRef="usd" id="ixv-17002">21,306</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-17003">535,643</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-17004">543,767</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-17005">595,842</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Costs of Goods Sold</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c162" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17006">417,222</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c163" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17007">407,068</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c164" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17008">410,507</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt">Unaffiliated</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c165" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17009">4,006</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c166" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17010">3,080</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c167" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17011">5,250</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 20pt">Intersegment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c168" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17012">31,528</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c169" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17013">33,086</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c170" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17014">21,306</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c171" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17015">35,534</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c172" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17016">36,166</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c173" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17017">26,556</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Eliminations</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c174" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" sign="-" unitRef="usd" id="ixv-17018">31,528</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c175" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" sign="-" unitRef="usd" id="ixv-17019">33,086</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c176" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" sign="-" unitRef="usd" id="ixv-17020">21,306</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17021">421,228</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17022">410,148</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" unitRef="usd" id="ixv-17023">415,757</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross Profit (Loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c162" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-17024">115,386</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c163" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-17025">133,678</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c164" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-17026">182,782</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c171" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" sign="-" unitRef="usd" id="ixv-17027">971</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c172" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" sign="-" unitRef="usd" id="ixv-17028">59</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c173" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" sign="-" unitRef="usd" id="ixv-17029">2,697</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-17030">114,415</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-17031">133,619</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-17032">180,085</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Operating Income (Loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c162" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" unitRef="usd" id="ixv-17033">33,273</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c163" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" unitRef="usd" id="ixv-17034">52,887</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c164" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" unitRef="usd" id="ixv-17035">106,803</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c171" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" sign="-" unitRef="usd" id="ixv-17036">1,619</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c172" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" sign="-" unitRef="usd" id="ixv-17037">803</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction contextRef="c173" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" sign="-" unitRef="usd" id="ixv-17038">3,347</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" unitRef="usd" id="ixv-17039">31,654</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" unitRef="usd" id="ixv-17040">52,084</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:OperatingIncomeLoss" scale="3" unitRef="usd" id="ixv-17041">103,456</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Income (Loss) Before Income Taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c162" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-17042">34,051</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c163" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-17043">53,723</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c164" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-17044">108,609</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c171" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" sign="-" unitRef="usd" id="ixv-17045">1,616</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c172" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" sign="-" unitRef="usd" id="ixv-17046">799</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c173" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" sign="-" unitRef="usd" id="ixv-17047">3,338</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">&#160;Corporate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c177" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-17048">5,340</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c178" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-17049">5,900</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c179" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" unitRef="usd" id="ixv-17050">3,008</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">37,775</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">58,824</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">108,279</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

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

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Identifiable Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 61%">Firearms</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c180" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-17051">230,024</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c181" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-17052">228,699</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c182" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-17053">223,301</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c183" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-17054">9,303</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c184" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-17055">11,144</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c185" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-17056">11,910</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Corporate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c186" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-17057">144,707</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c187" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-17058">158,974</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c188" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-17059">249,552</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-17060">384,034</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-17061">398,817</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c30" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Assets" scale="3" unitRef="usd" id="ixv-17062">484,763</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Goodwill</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c180" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-17063">3,055</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c181" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-17064">3,055</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c182" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-17065">3,055</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c183" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-17066">209</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c184" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-17067">209</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c185" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-17068">209</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c3" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-17069">3,264</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c4" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-17070">3,264</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c30" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Goodwill" scale="3" unitRef="usd" id="ixv-17071">3,264</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c162" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-17072">19,952</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c163" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-17073">19,301</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c164" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-17074">21,992</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c171" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-17075">1,154</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c172" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-17076">1,814</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c173" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-17077">2,452</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-17078">21,106</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-17079">21,115</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Depreciation" scale="3" unitRef="usd" id="ixv-17080">24,444</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Capital Expenditures</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c162" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-17081">20,488</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c163" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-17082">15,395</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c164" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-17083">26,598</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c171" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-17084">333</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c172" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-17085">401</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c173" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-17086">1,175</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c0" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-17087">20,821</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c15" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-17088">15,796</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c16" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:SegmentExpenditureAdditionToLongLivedAssets" scale="3" unitRef="usd" id="ixv-17089">27,773</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:continuation>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - <ix:nonFraction contextRef="c150" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-17090">28</ix:nonFraction>%; Sports South - <ix:nonFraction contextRef="c151" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-17091">18</ix:nonFraction>%; and Davidson&#8217;s - <ix:nonFraction contextRef="c152" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-17092">16</ix:nonFraction>%.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - <ix:nonFraction contextRef="c153" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-17093">24</ix:nonFraction>%; Davidson&#8217;s - <ix:nonFraction contextRef="c154" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-17094">19</ix:nonFraction>%; and Sports South -<ix:nonFraction contextRef="c155" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-17095">15</ix:nonFraction>%.</p></ix:continuation><div>

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

</div><!-- Field: Page; Sequence: 71 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->71<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation id="_SegmentReportingDisclosureTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - <ix:nonFraction contextRef="c156" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-17096">23</ix:nonFraction>%; Davidson&#8217;s - <ix:nonFraction contextRef="c157" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-17097">23</ix:nonFraction>%; and Sports South - <ix:nonFraction contextRef="c158" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-17098">21</ix:nonFraction>%.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s assets are located entirely
in the United States and domestic sales represented at least <ix:nonFraction contextRef="c159" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-17099"><ix:nonFraction contextRef="c160" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-17100"><ix:nonFraction contextRef="c161" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" unitRef="pure" id="ixv-17101">94</ix:nonFraction></ix:nonFraction></ix:nonFraction>% of total sales in 2024, 2023, and 2022.</p></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:QuarterlyFinancialInformationTextBlock" id="ixv-13883"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>18. Quarterly Results of Operations (Unaudited)</b></p>

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

<ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock" id="ixv-13887"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following is a tabulation of the unaudited
quarterly results of operations for the two years ended December 31, 2024:</p>

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

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Three Months Ended</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">3/30/24</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">6/29/24</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">9/28/24</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">12/31/24</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-weight: normal; text-align: left; text-indent: 0.5pt">Net Sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c189" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-17102">136,820</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c190" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-17103">130,761</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c191" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-17104">122,287</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c124" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-17105">145,775</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.5pt">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c189" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-17106">29,403</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c190" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-17107">29,154</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c191" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-17108">22,672</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c124" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-17109">33,186</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.5pt">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c189" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-17110">7,084</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c190" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-17111">8,264</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c191" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-17112">4,738</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c124" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-17113">10,477</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 0.5pt">Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c189" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-17114">0.41</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c190" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-17115">0.48</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c191" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-17116">0.28</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c124" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-17117">0.63</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-indent: 0.5pt">Diluted earnings per share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c189" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-17118">0.40</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c190" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-17119">0.47</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c191" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-17120">0.28</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c124" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-17121">0.62</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

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

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Three Months Ended</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">4/1/23</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">7/1/23</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">9/30/23</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">12/31/23</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-weight: normal; text-align: left">Net Sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c192" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-17122">149,453</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c193" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-17123">142,804</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c194" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-17124">120,893</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c195" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:Revenues" scale="3" unitRef="usd" id="ixv-17125">130,617</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c192" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-17126">38,486</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c193" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-17127">38,148</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c194" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-17128">24,728</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c195" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:GrossProfit" scale="3" unitRef="usd" id="ixv-17129">32,257</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c192" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-17130">14,350</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c193" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-17131">16,185</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c194" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-17132">7,431</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c195" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:NetIncomeLoss" scale="3" unitRef="usd" id="ixv-17133">10,249</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c192" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-17134">0.81</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c193" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-17135">0.91</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c194" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-17136">0.42</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c195" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareBasic" scale="0" unitRef="usdPershares" id="ixv-17137">0.58</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Diluted earnings per share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c192" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-17138">0.81</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c193" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-17139">0.91</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c194" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-17140">0.42</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction contextRef="c195" decimals="2" format="ixt:num-dot-decimal" name="us-gaap:EarningsPerShareDiluted" scale="0" unitRef="usdPershares" id="ixv-17141">0.58</ix:nonFraction></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" id="ixv-14114"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>19. Related Party Transactions </b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">From time to time, the Company contracts with
the National Rifle Association (&#8220;NRA&#8221;) for some of its promotional and advertising activities. The Company paid the NRA $<ix:nonFraction contextRef="c196" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="6" unitRef="usd" id="ixv-17142">0.5</ix:nonFraction>
million, $<ix:nonFraction contextRef="c198" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="6" unitRef="usd" id="ixv-17143">0.5</ix:nonFraction> million and $<ix:nonFraction contextRef="c199" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="6" unitRef="usd" id="ixv-17144">0.7</ix:nonFraction> million in 2024, 2023, and 2022, respectively. One of the Company&#8217;s Directors also serves as a Director
on the Board of the NRA.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is a member of the National Shooting
Sports Foundation (&#8220;NSSF&#8221;), the firearm industry trade association. <span style="font-family: Times New Roman, Times, Serif">The
Company paid the NSSF $<ix:nonFraction contextRef="c197" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="6" unitRef="usd" id="ixv-17145">0.4</ix:nonFraction> million, $<ix:nonFraction contextRef="c200" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="6" unitRef="usd" id="ixv-17146">0.3</ix:nonFraction> million and $<ix:nonFraction contextRef="c201" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="6" unitRef="usd" id="ixv-17147">0.3</ix:nonFraction> million in 2024, 2023, and 2022, respectively. </span>One of the Company&#8217;s
Directors also serves on the Board of the NSSF.</p></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_LegalMattersAndContingenciesTextBlock-c0_cont_1" escape="true" name="us-gaap:LegalMattersAndContingenciesTextBlock" id="ixv-14125"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>20. Contingent Liabilities </b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">As
of December 31, 2024, the Company was a defendant in eight (8) lawsuits and is aware of cert</span>ain other such claims. The lawsuits
generally fall into four (4) categories: municipal litigation, breach of contract, unfair trade practices, and trademark litigation. Each
is discussed in turn below.</p></ix:nonNumeric><div>

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

</div><!-- Field: Page; Sequence: 72 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->72<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation continuedAt="_LegalMattersAndContingenciesTextBlock-c0_cont_2" id="_LegalMattersAndContingenciesTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Municipal Litigation</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Municipal litigation generally includes those
cases brought by cities or other governmental entities against firearms manufacturers, distributors and retailers seeking to recover damages
allegedly arising out of the criminal misuse of firearms by third parties. There are four (4) lawsuits of this type, as follows.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <i>City of Gary v. Smith &amp; Wesson Corp.,
et al</i>, filed in Indiana State Court in 1999, the City of Gary, Indiana seeks damages, among other things, for the costs of medical
care, police and emergency services, public health services, and other services as well as punitive damages. In addition, nuisance abatement
and/or injunctive relief is sought to change the design, manufacture, marketing and distribution practices of the various Defendants.
The Complaint alleges, among other claims, negligence in the design of products, public nuisance, negligent distribution and marketing,
negligence per se and deceptive advertising. The case does not allege a specific injury to a specific individual as a result of the misuse
or use of any of the Company's products. After a long procedural history, during the quarter ended April 3, 2021, the City initiated discovery
and the manufacturer Defendants reciprocated.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On March 15, 2024, Indiana Governor Eric Holcomb
signed into law HB 1235, which reserves to the State of Indiana the right to bring an action on behalf of a political subdivision against
a firearm or ammunition manufacturer, trade association, seller, or dealer, concerning certain matters. The new law also prohibits a political
subdivision from bringing or maintaining such an action. Following passage of this new law, the Company and other Defendants filed a Motion
for Judgment on the Pleadings on March 18, 2024. On August 12, 2024, the Court denied Defendants&#8217; motion. The Court granted Defendants&#8217;
subsequent request to certify the Order for appeal. On October 2, 2024, Defendants filed a motion with the Indiana Court of Appeals to
accept jurisdiction over the interlocutory appeal, which was granted over Plaintiff&#8217;s objection on November 1, 2024. On October
16, 2024, the trial court entered an Order staying all proceedings pending the interlocutory appeal. Briefing of the appeal is underway.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Estados Unidos Mexicanos v. Smith &amp; Wesson
Brands, Inc., et al.</i> was filed by the Country of Mexico and names seven Defendants, mostly U.S.-based firearms manufacturers, including
the Company. The Complaint advances a variety of legal theories including negligence, public nuisance, unjust enrichment, restitution,
and others. Plaintiff essentially alleges that Defendants design, manufacture, distribute, market and sell firearms in a way that they
know results in the illegal trafficking of firearms into Mexico, where they are used by Mexican drug cartels for criminal activities.
Plaintiff seeks injunctive relief and monetary damages.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On November 22, 2021, Defendants jointly filed
a motion to dismiss the Complaint, which was granted on September 30, 2022. Several defendants, including the Company, also filed Rule
12(b)(2) motions to dismiss for lack of personal jurisdiction, which the Court declined to rule on in light of its dismissal. Plaintiffs
appealed the dismissal to the First Circuit Court of Appeals and, on January 22, 2024, the Court of Appeals reversed the District Court&#8217;s
dismissal and remanded the case for further proceedings. The Defendants filed a Petition for Writ of </p></ix:continuation><div>

</div><!-- Field: Page; Sequence: 73 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->73<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><ix:continuation continuedAt="_LegalMattersAndContingenciesTextBlock-c0_cont_3" id="_LegalMattersAndContingenciesTextBlock-c0_cont_2"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Certiorari seeking review by the
United States Supreme Court while the case moved forward at the District Court.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On June 17, 2024, the District Court heard argument
on the pending Rule 12(b)(2) motions to dismiss. On August 7, 2024, the Court granted the motions, dismissing the Company and some of
the other Defendants from the case, but has not yet entered judgement in favor of these Defendants. Because judgment has not entered in
favor of the Company, the 30-day period in which Plaintiff may appeal the Court&#8217;s August 7, 2024 ruling has not yet begun to run.
Subsequently, the Supreme Court granted the Defendants&#8217; Petition for Writ of Certiorari. Oral argument at the Supreme Court is scheduled
for March 4, 2025.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On December 20, 2022, the City of Buffalo, New
York filed a lawsuit captioned <i>The City of Buffalo v. Smith &amp; Wesson Brands, Inc., et al.</i> in the New York State Supreme Court
for Erie County, New York. The suit names a number of firearm manufacturers, distributors, and retailers as Defendants, including the
Company, and purports to state causes of action for violations of Sections 898, 349 and 350 of the New York General Business Law, as well
as common law public nuisance. Generally, Plaintiff alleges that the criminal misuse of firearms in the City of Buffalo is the result
of the manufacturing, sales, marketing, and distribution practices of the Defendants. The Defendants timely removed the matter to the
U.S. District Court for the Western District of New York.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On December 21, 2022, the City of Rochester, New
York filed a lawsuit captioned <i>The City of Rochester v. Smith &amp; Wesson Brands, Inc., et al. </i>in the New York State Supreme Court
for Monroe County, New York. The suit names the same defendants and makes essentially the same allegations raised in <i>Buffalo</i>, discussed
in the preceding paragraph. Defendants timely removed the matter to the U.S. District Court for the Western District of New York.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Defendants moved to consolidate the <i>Buffalo</i>
and <i>Rochester</i> cases for pretrial purposes only and also moved to stay the cases pending a decision by the Second Circuit Court
of Appeals in <i>National Shooting Sports Foundation, Inc. et al. v. James</i>, which challenges the constitutionality of the recently
enacted N.Y. GEN. BUS. LAW &#167;&#167; 898-a&#8211;e. On June 8, 2023, the Court granted Defendants&#8217; motions and the cases were
consolidated for pretrial purposes and stayed.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Breach of Contract</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is a defendant in <i>Jones v. Sturm,
Ruger &amp; Co.,</i> a purported class action lawsuit arising out of a data breach at Freestyle Solutions, Inc., the vendor who was hosting
the Company&#8217;s ShopRuger.com website at the time of the breach. On January 20, 2023, five Plaintiffs filed an Amended Complaint naming
the Company and Freestyle Solutions, Inc. as Defendants. The Complaint alleged causes of action for negligence, breach of implied warranties,
and unjust enrichment.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company moved to dismiss the Amended Complaint,
and on March 27, 2024, the Court dismissed Plaintiffs&#8217; negligence and unjust enrichment claims against the Company. The Court denied
the motion with respect to Plaintiffs&#8217; breach of contract claim, concluding that development </p></ix:continuation><div>

</div><!-- Field: Page; Sequence: 74 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->74<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><ix:continuation continuedAt="_LegalMattersAndContingenciesTextBlock-c0_cont_4" id="_LegalMattersAndContingenciesTextBlock-c0_cont_3"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">of additional information is required
to assess the applicability of the limitation of liability clause contained in the Company&#8217;s terms and conditions of use. The case
is proceeding accordingly.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Unfair Trade Practices</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Estate of Suzanne Fountain v. Sturm, Ruger
&amp; Co., Inc.,</i> was filed in Connecticut Superior Court and arises out of the criminal shooting at the King Soopers supermarket in
Boulder, Colorado on March 22, 2021. On that date, Plaintiff&#8217;s decedent, Suzanne Fountain, was murdered by 21-year-old <span style="background-color: white">Ahmad
Al Aliwi Al-Issa. The Complaint alleged that the Company&#8217;s advertising and marketing of the Ruger AR-556 pistol violate the Connecticut
Unfair Trade Practices Act and were a substantial factor in bringing about the wrongful death of Suzanne Fountain. </span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Estate of Neven Stanisic et al. v. Sturm, Ruger
&amp; Co., Inc.,</i> was filed in Connecticut Superior Court on behalf of five Plaintiffs. Like <i>Estate of Suzanne Fountain</i>, the
claims arise from the criminal shooting at the King Soopers supermarket in Boulder, Colorado on March 22, 2021. Plaintiffs&#8217; decedents
were murdered by <span style="background-color: white">Ahmad Al Aliwi Al-Issa and Plaintiffs alleged that the Company&#8217;s advertising
and marketing of the Ruger AR-556 pistol violate the Connecticut Unfair Trade Practices Act and were a substantial factor in causing the
wrongful death of Plaintiffs&#8217; decedents.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The <i>Fountain</i>
and <i>Stanisic</i> cases were consolidated for discovery purposes only and transferred by the Court to the Complex Litigation Docket.
Plaintiffs then sought leave to file an Amended Complaint, essentially abandoning their negligent marketing allegations and advancing
a new theory predicated upon alleged violations of the Gun Control Act and National Firearms Act. Over the Company&#8217;s objections,
Plaintiffs were permitted to file the Amended Complaint. </span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The matter
was timely removed to the U.S. District Court for the District of Connecticut based upon the new allegations and federal question jurisdiction.
Plaintiffs moved to remand the case to state court and, following briefing and oral argument, the matter was remanded on April 25, 2024.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On June 12, 2024, Ruger filed Motions to Dismiss
the Connecticut state court cases based upon the doctrine of <i>forum non conveniens</i>. Following oral argument on September 9, 2024,
the Court allowed Plaintiffs limited, additional discovery and requested further briefing on the matter. The briefing has been completed
and the parties are awaiting a decision from the Court.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white"><span style="text-decoration:underline">Trademark
Litigation</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">On March
12, 2024,</span> the Company was named as a defendant in <i>FN Herstal, et al. v. Sturm, Ruger &amp; Company, Inc.</i>, which is pending
in the U.S. District Court for the Middle District of North Carolina. T<span style="background-color: white">he Complaint alleges that
the Company&#8217;s use of the initialism &#8220;SFAR&#8221; in connection with the marketing of its Small Frame Autoloading Rifle infringes
the Plaintiffs&#8217; SCAR trademark. The Complaint alleges violations of the Lanham Act and the North Carolina Unfair and Deceptive Trade
Practices Act, as well as trademark infringement under North Carolina common law. The Company believes that the allegations are meritless
and is defending the action accordingly.</span></p></ix:continuation><div>

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

</div><!-- Field: Page; Sequence: 75 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->75<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation continuedAt="_LegalMattersAndContingenciesTextBlock-c0_cont_5" id="_LegalMattersAndContingenciesTextBlock-c0_cont_4"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Summary of Claimed Damages and Explanation
of Product Liability Accruals</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Punitive damages, as well as compensatory damages,
are demanded in certain of the lawsuits and claims. In many instances, the plaintiff does not seek a specified amount of money, though
aggregate amounts ultimately sought may exceed product liability accruals and applicable insurance coverage.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For product liability claims made between July
10, 2000 and August 31, 2024, insurance coverage was provided on an annual basis for losses exceeding $<ix:nonFraction contextRef="c0" decimals="-6" format="ixt:num-dot-decimal" name="rgr:ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" scale="6" unitRef="usd" id="ixv-17148">5</ix:nonFraction> million per claim, with an aggregate
maximum loss of $<ix:nonFraction contextRef="c0" decimals="-6" format="ixt:num-dot-decimal" name="rgr:ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" scale="6" unitRef="usd" id="ixv-17149">10</ix:nonFraction> million annually, except for certain claims brought by governments or municipalities, which are excluded from coverage.
Insurance coverage was not renewed with incumbent carriers effective September 1, 2024. Rather, the Company established a wholly-owned
captive insurance company for claims made on or after September 1, 2024.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Company management monitors the status of known
claims and the product liability accrual, which includes amounts for asserted and unasserted claims. While it is not possible to forecast
the outcome of litigation or the timing of costs, in the opinion of management, after consultation with special and corporate counsel,
it is not probable and is unlikely that litigation, including punitive damage claims, will have a material adverse effect on the financial
position of the Company, but may have a material impact on the Company&#8217;s financial results for a particular period.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Product liability claim payments are made when
appropriate if, as, and when claimants and the Company reach agreement upon an amount to finally resolve all claims. Legal costs are paid
as the lawsuits and claims develop, the timing of which may vary greatly from case to case. A time schedule cannot be determined in advance
with any reliability concerning when payments will be made in any given case.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Provision is made for product liability claims
based upon many factors related to the severity of the alleged injury and potential liability exposure, based upon prior claim experience.
Because the Company's experience in defending these lawsuits and claims is that unfavorable outcomes are typically not probable or estimable,
only in rare cases is an accrual established for such costs.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In most cases, an accrual is established only
for estimated legal defense costs. Product liability accruals are periodically reviewed to reflect then-current estimates of possible
liabilities and expenses incurred to date and reasonably anticipated in the future. Threatened product liability claims are reflected
in the Company's product liability accrual on the same basis as actual claims; <i>i.e.</i>, an accrual is made for reasonably anticipated
possible liability and claims handling expenses on an ongoing basis.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Often, a Complaint does not specify the amount
of damages being sought and range of reasonably possible losses relating to unfavorable outcomes cannot be made. The dollar amount of
damages claimed at December 31, 2024, December 31, 2023, and December 31, 2022 was <i>de minimis</i>. The amount claimed at December 31,
2021 was $<ix:nonFraction contextRef="c202" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyDamagesSoughtValue" scale="6" unitRef="usd" id="ixv-17150">1.1</ix:nonFraction> million and is set forth as an indication of possible maximum liability the Company might be required to incur in these
cases (regardless </p></ix:continuation><div>

</div><!-- Field: Page; Sequence: 76 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->76<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><ix:continuation continuedAt="_LegalMattersAndContingenciesTextBlock-c0_cont_6" id="_LegalMattersAndContingenciesTextBlock-c0_cont_5"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">of the likelihood or reasonable probability of any or all of this amount being awarded to claimants) as a result of
adverse judgments that are sustained on appeal.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2024, one (<ix:nonFraction contextRef="c203" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-17151"><ix:nonFraction contextRef="c204" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-17152">1</ix:nonFraction></ix:nonFraction>) trademark lawsuit was filed
against the Company, one (<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyClaimsSettledNumber" scale="0" unitRef="pure" id="ixv-17153">1</ix:nonFraction>) negligence lawsuit was resolved, and one (<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyClaimsSettledNumber" scale="0" unitRef="pure" id="ixv-17154"><ix:nonFraction contextRef="c205" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyClaimsSettledNumber" scale="0" unitRef="pure" id="ixv-17155">1</ix:nonFraction></ix:nonFraction>) traditional product liability lawsuit was resolved. One (<ix:nonFraction contextRef="c206" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyClaimsDismissedNumber" scale="0" unitRef="pure" id="ixv-17156">1</ix:nonFraction>)
municipal lawsuit was dismissed, however the time period in which to file an appeal has been stayed by the Court and the Company considers
this matter still open. As of December 31, 2024, the Company was a defendant in eight (<ix:nonFraction contextRef="c0" decimals="0" format="ixt:num-dot-decimal" name="rgr:LossContingencyNumberOfLawsuits" scale="0" unitRef="pure" id="ixv-17157">8</ix:nonFraction>) lawsuits involving its products, including four
(<ix:nonFraction contextRef="c206" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-17158">4</ix:nonFraction>) municipal lawsuits, two (<ix:nonFraction contextRef="c207" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-17159">2</ix:nonFraction>) lawsuits based upon unfair trade practices, one (1) breach of contract, and one (1) trademark litigation.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2023, one (<ix:nonFraction contextRef="c208" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-17160">1</ix:nonFraction>) traditional product liability
lawsuit was filed against the Company and one (<ix:nonFraction contextRef="c208" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyClaimsSettledNumber" scale="0" unitRef="pure" id="ixv-17161">1</ix:nonFraction>) was resolved. As of December 31, 2023, the Company was a defendant in seven (<ix:nonFraction contextRef="c15" decimals="0" format="ixt:num-dot-decimal" name="rgr:LossContingencyNumberOfLawsuits" scale="0" unitRef="pure" id="ixv-17162">7</ix:nonFraction>) lawsuits
involving its products, including one (<ix:nonFraction contextRef="c208" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-17163">1</ix:nonFraction>) traditional product liability lawsuit, four (<ix:nonFraction contextRef="c209" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-17164">4</ix:nonFraction>) municipal lawsuits and two (<ix:nonFraction contextRef="c210" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-17165">2</ix:nonFraction>) lawsuits based
upon alleged unfair trade practices. The Company was also a defendant in two (<ix:nonFraction contextRef="c211" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-17166">2</ix:nonFraction>) negligence lawsuits.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2022, no traditional product liability
lawsuits were filed against the Company and one (<ix:nonFraction contextRef="c212" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyClaimsSettledNumber" scale="0" unitRef="pure" id="ixv-17167">1</ix:nonFraction>) was resolved. As of December 31, 2022, the Company was a defendant <ix:nonFraction contextRef="c16" decimals="0" format="ixt-sec:numwordsen" name="rgr:LossContingencyNumberOfLawsuits" scale="0" unitRef="pure" id="ixv-17168">five</ix:nonFraction> lawsuits involving
its products, including one (<ix:nonFraction contextRef="c16" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-17169">1</ix:nonFraction>) traditional product liability lawsuit and four (<ix:nonFraction contextRef="c213" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-17170">4</ix:nonFraction>) municipal lawsuits. The Company also was a defendant
in three (<ix:nonFraction contextRef="c214" decimals="0" format="ixt:num-dot-decimal" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" unitRef="pure" id="ixv-17171">3</ix:nonFraction>) negligence lawsuits though, as discussed above, that number has since been reduced to two (2) lawsuits with the consolidation
of the <i>Jones</i> and <i>Copeland</i> matters.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s product liability expense
was $<ix:nonFraction contextRef="c0" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ProductLiabilityAccrualPeriodExpense" scale="6" unitRef="usd" id="ixv-17172">0.7</ix:nonFraction> million in 2024, $<ix:nonFraction contextRef="c15" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ProductLiabilityAccrualPeriodExpense" scale="6" unitRef="usd" id="ixv-17173">1.5</ix:nonFraction> million in 2023, $<ix:nonFraction contextRef="c16" decimals="-5" format="ixt:num-dot-decimal" name="us-gaap:ProductLiabilityAccrualPeriodExpense" scale="6" unitRef="usd" id="ixv-17174">1.3</ix:nonFraction> million in 2022. This expense includes the cost of outside legal fees, and other
expenses incurred in the management and defense of product liability matters.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">A roll-forward of the product liability reserve and detail of product
liability expense for the <ix:nonNumeric contextRef="c3" format="ixt-sec:durwordsen" name="us-gaap:ProductLiabilityContingencyDisbursementPeriodEstimateAccrued" id="ixv-17175">three years</ix:nonNumeric> ended December 31, 2024 follows:</p>

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

<ix:nonNumeric contextRef="c0" continuedAt="_ScheduleOfProductWarrantyLiabilityTableTextBlock-c0_cont_1" escape="true" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="ixv-14291"><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Balance Sheet Roll-forward for Product Liability
Reserve</p>

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

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">Cash Payments</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"><span style="font-family: Times New Roman, Times, Serif">Balance <br/>
Beginning <br/>
of Year (a<b>)</b></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Accrued<br/>
 Legal<br/>
 Expense<br/>
 (Income) <br/>
(b)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Legal Fees <br/>
(c)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Settlements <br/>
(d)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Balance <br/>
End of <br/>
Year (a)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; text-align: justify">2022</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c215" decimals="-3" format="ixt:num-dot-decimal" id="ix_0_fact" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" unitRef="usd">892</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(<ix:nonFraction contextRef="c216" decimals="-3" format="ixt:num-dot-decimal" id="ix_6_fact" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" sign="-" unitRef="usd">417</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(<ix:nonFraction contextRef="c216" decimals="-3" format="ixt:num-dot-decimal" id="ix_9_fact" name="rgr:ValuationAllowancesAndReservesLegalFees" scale="3" sign="-" unitRef="usd">167</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-47">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c217" decimals="-3" format="ixt:num-dot-decimal" id="ix_1_fact" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" unitRef="usd">308</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c217" decimals="-3" format="ixt:num-dot-decimal" id="ix_2_fact" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" unitRef="usd">308</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c218" decimals="-3" format="ixt:num-dot-decimal" id="ix_7_fact" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" unitRef="usd">500</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c218" decimals="-3" format="ixt:num-dot-decimal" id="ix_10_fact" name="rgr:ValuationAllowancesAndReservesLegalFees" scale="3" sign="-" unitRef="usd">129</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-48">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c219" decimals="-3" format="ixt:num-dot-decimal" id="ix_3_fact" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" unitRef="usd">679</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2024</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c219" decimals="-3" format="ixt:num-dot-decimal" id="ix_4_fact" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" unitRef="usd">679</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c220" decimals="-3" format="ixt:num-dot-decimal" id="ix_8_fact" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" unitRef="usd">67</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction contextRef="c220" decimals="-3" format="ixt:num-dot-decimal" id="ix_11_fact" name="rgr:ValuationAllowancesAndReservesLegalFees" scale="3" sign="-" unitRef="usd">254</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-49">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c221" decimals="-3" format="ixt:num-dot-decimal" id="ix_5_fact" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" unitRef="usd">492</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric></ix:continuation><div>

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

</div><!-- Field: Page; Sequence: 77 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->77<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


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

</div><ix:continuation id="_LegalMattersAndContingenciesTextBlock-c0_cont_6"><ix:nonNumeric contextRef="c0" continuedAt="_ProductLiabilityContingenciesTextBlock-c0_cont_1" escape="true" name="us-gaap:ProductLiabilityContingenciesTextBlock" id="ixv-14483"><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income Statement Detail for Product Liability
Expense</p>

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

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Accrued <br/>
Legal<br/>
 Expense<br/>
 (b)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Insurance <br/>
Premium <br/>
Expense <br/>
(e)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Total <br/>
Product<br/>
 Liability <br/>
Expense</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">2022</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(<ix:nonFraction contextRef="c222" decimals="-3" format="ixt:num-dot-decimal" id="ix_12_fact" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" sign="-" unitRef="usd">417</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c223" decimals="-3" format="ixt:num-dot-decimal" id="ix_15_fact" name="us-gaap:ProductLiabilityAccrualPeriodExpense" scale="3" unitRef="usd">1,524</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction contextRef="c224" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductLiabilityAccrualComponentAmount" scale="3" unitRef="usd" id="ixv-17190">1,107</ix:nonFraction></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c225" decimals="-3" format="ixt:num-dot-decimal" id="ix_13_fact" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" unitRef="usd">500</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c226" decimals="-3" format="ixt:num-dot-decimal" id="ix_16_fact" name="us-gaap:ProductLiabilityAccrualPeriodExpense" scale="3" unitRef="usd">1,226</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c227" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductLiabilityAccrualComponentAmount" scale="3" unitRef="usd" id="ixv-17193">1,726</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2024</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c228" decimals="-3" format="ixt:num-dot-decimal" id="ix_14_fact" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" unitRef="usd">67</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction contextRef="c229" decimals="-3" format="ixt:num-dot-decimal" id="ix_17_fact" name="us-gaap:ProductLiabilityAccrualPeriodExpense" scale="3" unitRef="usd">908</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction contextRef="c230" decimals="-3" format="ixt:num-dot-decimal" name="us-gaap:ProductLiabilityAccrualComponentAmount" scale="3" unitRef="usd" id="ixv-17196">975</ix:nonFraction></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table></ix:nonNumeric>

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

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

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

<ix:continuation id="_ScheduleOfProductWarrantyLiabilityTableTextBlock-c0_cont_1"><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">(a)</td><td style="text-align: justify"><ix:footnote id="ix_0_footnote" xml:lang="en-US">The beginning and ending liability balances represent accrued legal fees only. Settlements and administrative
costs are expensed as incurred. Only in rare instances is an accrual established for settlements.</ix:footnote></td></tr></table>

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

<ix:continuation continuedAt="_ProductLiabilityContingenciesTextBlock-c0_cont_2" id="_ProductLiabilityContingenciesTextBlock-c0_cont_1"><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">(b)</td><td style="text-align: justify"><ix:footnote id="ix_1_footnote" xml:lang="en-US">The expense accrued in the liability is for legal fees only. In 2022, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.</ix:footnote></td></tr></table></ix:continuation>

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

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">(c)</td><td style="text-align: justify"><ix:footnote id="ix_2_footnote" xml:lang="en-US">Legal fees represent payments to outside counsel related to product liability matters.</ix:footnote></td></tr></table>

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

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">(d)</td><td style="text-align: justify"><ix:footnote id="ix_3_footnote" xml:lang="en-US">Settlements represent payments made to plaintiffs or allegedly injured parties in exchange for a full
and complete release of liability.</ix:footnote></td></tr></table></ix:continuation>

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

<ix:continuation id="_ProductLiabilityContingenciesTextBlock-c0_cont_2"><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">(e)</td><td style="text-align: justify"><ix:footnote id="ix_5_footnote" xml:lang="en-US">Insurance expense represents the cost of insurance premiums.</ix:footnote></td></tr></table></ix:continuation>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">There were no insurance recoveries during any
of the above years.</p></ix:continuation><div>

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

</div><ix:nonNumeric contextRef="c0" escape="true" name="us-gaap:FinancialInstrumentsDisclosureTextBlock" id="ixv-14629"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>21. Financial Instruments</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company does not hold or issue financial instruments
for trading or hedging purposes, nor does it hold interest rate, leveraged, or other types of derivative financial instruments. Fair values
of accounts receivable, accounts payable, accrued expenses and income taxes payable reflected in the December 31, 2024 and 2023 balance
sheets approximate carrying values at those dates.</p></ix:nonNumeric><div>

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

</div><ix:nonNumeric contextRef="c0" continuedAt="_SubsequentEventsTextBlock-c0_cont_1" escape="true" name="us-gaap:SubsequentEventsTextBlock" id="ixv-14638"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>22. Subsequent Events</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On February 14, 2025, the Company&#8217;s Board
of Directors authorized a dividend of <ix:nonFraction contextRef="c231" decimals="INF" format="ixt:num-dot-decimal" name="us-gaap:DividendsPayableAmountPerShare" scale="-2" unitRef="usdPershares" id="ixv-17202">24</ix:nonFraction>&#162; per share to shareholders of record on <ix:nonNumeric contextRef="c231" format="ixt:date-monthname-day-year-en" name="rgr:DateOfRecord" id="ixv-17203">March 14, 2025</ix:nonNumeric>.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On January 17, 2025, the Company announced the
appointment of Mr. Todd W. Seyfert as its next President &amp; Chief Executive Officer, effective March 1, 2025. Mr. Christopher J. Killoy
will step down as President &amp; Chief Executive Officer on that date and then serve as a Special Advisor through his planned retirement
from the Company in May 2025.</p></ix:nonNumeric><div>

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

</div><!-- Field: Page; Sequence: 78 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->78<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><ix:continuation id="_SubsequentEventsTextBlock-c0_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Mr. Kevin B. Reid, Sr. will step down as Vice
President, General Counsel, and Corporate Secretary on June 30, 2025 and then serve as Senior Counsel to the Company until his planned
retirement from the Company on June 30, 2026.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s management has evaluated transactions
occurring subsequent to December 31, 2024 and determined that there were no other events or transactions during that period that would
have a material impact on the Company&#8217;s results of operations or financial position.</p></ix:continuation><div>

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

</div><!-- Field: Page; Sequence: 79 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->79<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

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

</div><div><a id="a_015"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 9&#8212;CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING
AND FINANCIAL DISCLOSURE</b></p><div>

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

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

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

</div><div><a id="a_016"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>ITEM 9A&#8212;CONTROLS AND PROCEDURES </b></p><div>

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

</div><p style="font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; background-color: white"><span style="font-style: normal"><span style="text-decoration:underline">Evaluation
of Disclosure Controls and Procedures</span></span></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; background-color: white">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company conducted an evaluation, with the
participation of its Chief Executive Officer and Chief Financial Officer, of the effectiveness of the design and operation of the Company&#8217;s
disclosure controls and procedures, as defined in Rules&#160;13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended,
as of December 31, 2024. Based upon that evaluation, the Chief Executive Officer and Chief Financial Officer have concluded that as of
December 31, 2024, the Company&#8217;s disclosure controls and procedures over financial reporting were effective.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">Management&#8217;s Report on Internal Control over Financial
Reporting</span></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s management is responsible
for establishing and maintaining adequate internal control over financial reporting as defined in Rules&#160;13a-15(f) and 15d-15(f) under
the Securities Exchange Act of 1934. Because of its inherent limitations, internal control over financial reporting may not prevent or
detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may
become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company conducted an evaluation, with the
participation of its Chief Executive Officer and Chief Financial Officer, of the effectiveness of its internal control over financial
reporting as of December 31, 2024. This evaluation was performed based on the criteria established in &#8220;Internal Control&#160;&#8212;
Integrated Framework&#8221; issued by the Committee of Sponsoring Organizations of the Treadway Commission (&#8220;COSO&#8221;) in 2013.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Management has concluded that the Company maintained
effective internal control over financial reporting as of December 31, 2024, based on criteria established in &#8220;Internal Control&#160;&#8212;
Integrated Framework&#8221; issued by the COSO in 2013.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The effectiveness of the Company&#8217;s internal
control over financial reporting as of December 31, 2024 has been audited by RSM US LLP, an independent registered public accounting firm,
as stated in their report which is included in this Form 10-K.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span style="text-decoration:underline">Changes in Internal Control over Financial
Reporting</span></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">There were no changes in our internal control
over financial reporting that occurred during our most recently completed fiscal quarter that has materially affected, or is reasonably
likely to materially affect, our internal control over financial reporting.</p><div>

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

</div><!-- Field: Page; Sequence: 80 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->80<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">New York Stock Exchange Certification </span></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Pursuant to Section 303A.12(a) of the New York
Stock Exchange Listed Company Manual, the Company submitted an unqualified certification of our Chief Executive Officer to the New York
Stock Exchange in 2024. The Company has also filed, as exhibits to this Annual Report on Form 10-K, the Chief Executive Officer and Chief
Financial Officer Certifications required under the Sarbanes-Oxley Act of 2002.</p><div>

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

</div><div><a id="a_017"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>ITEM 9B&#8212;OTHER INFORMATION</b></p><div>

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

</div><ix:nonNumeric contextRef="c124" continuedAt="_MtrlTermsOfTrdArrTextBlock-c124_cont_1" escape="true" name="ecd:MtrlTermsOfTrdArrTextBlock" id="ixv-14765"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Rule 10b5-1 Trading Plans</span></p></ix:nonNumeric><div>

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

</div><ix:continuation continuedAt="_MtrlTermsOfTrdArrTextBlock-c124_cont_2" id="_MtrlTermsOfTrdArrTextBlock-c124_cont_1"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">The adoption or <ix:nonNumeric contextRef="c124" format="ixt:fixed-false" name="ecd:Rule10b51ArrTrmntdFlag" id="ixv-17204">termination</ix:nonNumeric>
of contracts, instructions or written plans for the purchase and sale of the Company&#8217;s securities by the Company&#8217;s Section
16 officers or directors for the three months ended December 31, 2024, each of which is intended to satisfy the affirmative defense conditions
of Rule 10b5-1(c) under the Exchange Act (&#8220;Rule 10b5-1 Plan&#8221;), were as follows:</p></ix:continuation><div>

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

</div><ix:continuation continuedAt="_MtrlTermsOfTrdArrTextBlock-c124_cont_3" id="_MtrlTermsOfTrdArrTextBlock-c124_cont_2"><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;"> <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"> <td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt">Name</td> <td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 20%; padding-right: 5.4pt; padding-left: 5.4pt">Title</td> <td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt">Action</td> <td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">Date <br/>
Adopted</td> <td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">Expiration <br/>
Date</td> <td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 20%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">Aggregate # of <br/>
Securities to be <br/>
Purchased/Sold</td></tr> <tr style="vertical-align: top; background-color: rgb(204,238,255)"> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"><ix:nonNumeric contextRef="c232" id="ix_18_fact" name="ecd:TrdArrIndName">John A. Cosentino, Jr.</ix:nonNumeric> (1)</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"><ix:nonNumeric contextRef="c232" id="ix_19_fact" name="ecd:TrdArrIndTitle">Director</ix:nonNumeric></td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"><ix:nonNumeric contextRef="c232" format="ixt:fixed-true" id="ix_20_fact" name="ecd:Rule10b51ArrAdoptedFlag">Adoption</ix:nonNumeric> of Rule 10b5-1 Plan</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><ix:nonNumeric contextRef="c232" id="ix_21_fact" name="ecd:TrdArrAdoptionDate">November 14, 2024</ix:nonNumeric></td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><ix:nonNumeric contextRef="c232" id="ix_22_fact" name="ecd:TrdArrExpirationDate">November 14, 2025</ix:nonNumeric></td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><ix:nonFraction contextRef="c233" decimals="0" format="ixt:num-dot-decimal" id="ix_23_fact" name="ecd:TrdArrSecuritiesAggAvailAmt" scale="0" unitRef="shares">5,000</ix:nonFraction></td></tr> </table></ix:continuation><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><ix:continuation continuedAt="_MtrlTermsOfTrdArrTextBlock-c124_cont_4" id="_MtrlTermsOfTrdArrTextBlock-c124_cont_3"><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"/><td style="width: 0.25in"><span style="font-family: Times New Roman, Times, Serif">(1)</span></td><td><ix:footnote id="ix_6_footnote" xml:lang="en-US">John A. Cosentino, Jr., a director of the Company, entered into a Rule 10b5-1 Plan on November 14, 2024. Mr. Cosentino&#8217;s Rule
10b5-1 Plan provides for the potential sale of up to 5,000 shares of the Company&#8217;s common stock. The Rule 10b5-1 Plan expires on
November 14, 2025, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.</ix:footnote></td></tr></table></ix:continuation><div>

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

</div><ix:continuation id="_MtrlTermsOfTrdArrTextBlock-c124_cont_4"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in">None of the Company&#8217;s directors or Section 16 officers
<ix:nonNumeric contextRef="c124" format="ixt:fixed-false" name="ecd:NonRule10b51ArrAdoptedFlag" id="ixv-17212">adopted</ix:nonNumeric> or <ix:nonNumeric contextRef="c124" format="ixt:fixed-false" name="ecd:NonRule10b51ArrTrmntdFlag" id="ixv-17213">terminated</ix:nonNumeric> a &#8220;non-Rule 10b5-1 trading arrangement&#8221; as defined in Item 408 of Regulation S-K during the three months
ended December 31, 2024.</p></ix:continuation><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in">&#160;</p><div>

</div><div><a id="a_018"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 63pt; text-indent: -63pt"><b>ITEM 9C&#8212;DISCLOSURE REGARDING
FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS</b></p><div>

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

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

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


</div><!-- Field: Page; Sequence: 81 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->81<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>



</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><div><a id="a_019"></a></div><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">PART III</p><div>

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

</div><div><a id="a_020"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 10&#8212;DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Information concerning the Company&#8217;s directors,
including the Company&#8217;s separately designated standing audit committee, and on the Company&#8217;s code of business conduct and
ethics required by this Item is incorporated by reference from the Company&#8217;s Proxy Statement relating to the 2025 Annual Meeting
of Stockholders scheduled to be held May 29, 2025, which will be filed with the SEC in April 2025.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Information concerning the Company&#8217;s executive
officers required by this Item is set forth in Item 1 of this Annual Report on Form 10-K under the caption &#8220;Executive Officers of
the Company.&#8221;</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Information concerning beneficial ownership reporting
compliance required by this Item is incorporated by reference from the Company&#8217;s Proxy Statement relating to the 2025 Annual Meeting
of Stockholders scheduled to be held May 29, 2025, which will be filed with the SEC in April 2025.</p><div>

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

</div><div><a id="a_021"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>ITEM 11&#8212;EXECUTIVE COMPENSATION</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Information concerning director and executive
compensation required by this Item is incorporated by reference from the Company&#8217;s Proxy Statement relating to the 2025 Annual Meeting
of Stockholders scheduled to be held May 29, 2025, which will be filed with the SEC in April 2025.</p><div>

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

</div><div><a id="a_022"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 63pt; text-align: justify; text-indent: -63pt"><b>ITEM 12&#8212;SECURITY
OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Information concerning the security ownership
of certain beneficial owners and management and related stockholder matters required by this Item is incorporated by reference from the
Company&#8217;s Proxy Statement relating to the 2025 Annual Meeting of Stockholders scheduled to be held May 29, 2025, which will be
filed with the SEC in April 2025.</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p><div>

</div><!-- Field: Page; Sequence: 82 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->82<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>Securities Authorized for Issuance Under Equity Compensation Plans</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following table provides information regarding
compensation plans under which equity securities of the Company are authorized for issuance as of December 31, 2024:</p><div>

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

</div><table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td colspan="7" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">Equity Compensation Plan Information</td></tr>
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center; padding-left: 0.75pt">Plan category</td><td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">Number of securities to<br/>
 be issued upon exercise of <br/>
outstanding options, <br/>
warrants and rights
<br/>

 <br/>
(a)</td><td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">Weighted-average<br/>
 exercise price of <br/>
outstanding options, <br/>
warrants and rights
<br/>

 <br/>
(b) *</td><td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; text-align: center">Number of securities<br/>
 remaining available for <br/>
future issuance under <br/>
equity compensation <br/>
plans (excluding <br/>
securities reflected in <br/>
column (a)) <br/>
<br/>
(c)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-top: 3pt; font-family: Times New Roman, Times, Serif; text-align: left; padding-left: 0.75pt; font-weight: bold; padding-bottom: 3pt"><b>Equity compensation plans approved by security holders </b></td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; width: 25%; text-align: left; padding-left: 0.75pt">2017 Stock Incentive Plan</td><td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 24%; font-weight: bold; text-align: center">90,940</td><td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 24%; font-weight: bold; text-align: center">&#8212;</td><td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 24%; font-weight: bold; text-align: center">0</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 0.75pt">2023 Stock Incentive Plan</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">298,421</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">&#8212;</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">845,399**</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-top: 3pt; font-family: Times New Roman, Times, Serif; text-align: left; padding-left: 0.75pt; font-weight: bold; padding-bottom: 3pt">
    <b>Equity compensation plans not approved by security holders </b></td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.75pt">None.</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center; padding-left: 0.75pt">Total</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">398,361</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">&#8212;</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">845,399</td></tr>
  </table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in">*</td><td style="text-align: justify">Restricted stock units are settled in shares of common stock or the cash equivalent. Accordingly, the
weighted-average exercise price is not applicable.</td></tr></table><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"/><td style="width: 0.5in"><span style="font-family: Times New Roman, Times, Serif">**</span></td><td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Includes 151,386 unused shares </span>previously
authorized for issuance under the 2017 SIP that are now incorporated into and issuable under the 2023 SIP.</td></tr></table><div>

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

</div><div><a id="a_023"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 63pt; text-align: justify; text-indent: -63pt"><b>ITEM 13&#8212;CERTAIN
RELATIONSHIPS AND RELATED TRANSACTIONS AND DIRECTOR INDEPENDENCE</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Information concerning certain relationships and
related transactions required by this Item is incorporated by reference from the Company&#8217;s Proxy Statement relating to the 2025
Annual Meeting of Stockholders scheduled to be held May 29, 2025.</p><div>

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

</div><div><a id="a_024"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>ITEM 14&#8212;PRINCIPAL ACCOUNTANT FEES AND SERVICES</b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Information concerning the Company&#8217;s principal
accountant fees and services and the pre-approval policies and procedures of the audit committee of the board of directors required by
this Item is incorporated by reference from the Company&#8217;s Proxy Statement relating to the 2025 Annual Meeting of Stockholders scheduled
to be held May 29, 2025, which will be filed with the SEC in April 2025.</p><div>

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

</div><!-- Field: Page; Sequence: 83 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->83<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><div><a id="a_025"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>PART IV</b></p><div>

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

</div><div><a id="a_026"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>ITEM 15&#8212;EXHIBITS AND FINANCIAL STATEMENT
SCHEDULE </b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 27pt; text-align: justify; text-indent: -27pt">(a) Exhibits and
Financial Statement Schedule</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -27pt">(1) Financial Statements
can be found under Item 8 of Part II of this Form 10-K</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -27pt">(2) Schedule can
be found on Page 87 of this Form 10-K</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-align: justify; text-indent: -27pt">(3) Listing of
Exhibits:</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;">
  <tr style="vertical-align: top">
    <td style="width: 0.5in">&#160;</td>
    <td style="vertical-align: top; width: 1.25in; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 3.1</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494723000837/ex4-1.htm">Certificate of Incorporation of the Company, as amended</a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 4.1 to the Form S-8 Registration Statement previously filed by the Company File No. 333-272443 on June 6, 2023).</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 3.2</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494719001186/ex3-1.htm">Bylaws of the Company, as amended through <span style="font-family: Times New Roman, Times, Serif">November 12, 2019</span></a><span style="font-family: Times New Roman, Times, Serif">.</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 4.1</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494720000190/rgr10kex4-1.htm"><span style="font-family: Times New Roman, Times, Serif">Description of the Company&#8217;s Securities</span></a><span style="font-family: Times New Roman, Times, Serif">.</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.1</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000110465924123672/tm2429341d1_ex99-1.htm"><span style="font-family: Times New Roman, Times, Serif">Severance Agreement, dated as of November 25, 2024, by and between the Company and Thomas A. Dineen</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 99.1 to the Company's Current Report on Form 8-K filed with the SEC on November 27, 2024). **</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.2</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000110465924123672/tm2429341d1_ex99-2.htm"><span style="font-family: Times New Roman, Times, Serif">Severance Agreement, dated as of November 25, 2024 by and between the Company and Kevin B. Reid, Sr.</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 99.2 to the Company's Current Report on Form 8-K filed with the SEC on November 27, 2024).**</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.3</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494716002978/ex10-1.htm"><span style="font-family: Times New Roman, Times, Serif">Transition Services and Consulting Agreement, dated August 1, 2016, by and between the Company and Michael O. Fifer</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed with the SEC on August 2, 2016).**</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.4</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000110465920124326/tm2035867d1_ex10-1.htm"><span style="font-family: Times New Roman, Times, Serif">Amended and Restated Agreement, dated November 10, 2020, by and between the Company and Christopher J. Killoy</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K/A filed with the SEC on November 12, 2020).**</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.5</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000110465924123672/tm2429341d1_ex99-3.htm"><span style="font-family: Times New Roman, Times, Serif">Executive Severance Agreement, dated November 25, 2024, by and between the Company and Shawn C. Leska</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 99.3 to the Company's Current Report on Form 8-K filed with the SEC on November 27, 2024).**</span></td>
    </tr>

<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td></tr>
</table><div>

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

</div><!-- Field: Page; Sequence: 84 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->84<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="margin: 0"></p><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;">
<tr style="vertical-align: top">
    <td style="width: 0.5in">&#160;</td>
    <td style="vertical-align: top; text-align: left; width: 1.25in"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.6</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/0000095029/000117494722000034/ex10-1.htm">Loan Agreement, dated January 7, 2022 between Sturm, Ruger &amp; Company, Inc. and Regions Bank</a>. <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed with the SEC on January 11, 2022) , as amended by that certain </span><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494722001168/ex99-1.htm"><span style="font-family: Times New Roman, Times, Serif">Amendment to Credit Agreement, dated November 3, 2022, between Sturm, Ruger &amp; Company, Inc. and Regions Bank</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 99.1 to the Company&#8217;s Current Report on Form 8-K filed with the SEC on November 4, 2022) and that certain </span><a href="https://www.sec.gov/Archives/edgar/data/0000095029/000117494724000810/ex99-1.htm"><span style="font-family: Times New Roman, Times, Serif">Second Amendment to Loan Agreement, dated June 6, 2024, between Sturm, Ruger &amp; Company, Inc. and Regions Bank</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 99.1 to the Company&#8217;s Current Report on Form 8-K filed with the SEC on June 10, 2024).</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.7</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494717000464/def14a-17408_rgr.htm"><span style="font-family: Times New Roman, Times, Serif">The Sturm, Ruger &amp; Company, Inc. 2017 Stock Incentive Plan</span></a> <span style="font-family: Times New Roman, Times, Serif">(incorporated by reference to Annex A of the Company&#8217;s Definitive Proxy Statement of Schedule 14A, filed with the SEC on March 27, 2017).**</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.8</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/0000095029/000117494723000592/def14a0323_sturmruger.htm">The Sturm, Ruger &amp; Company, Inc. 2023 Stock Incentive Plan</a> (incorporated by reference to Annex A of the Company&#8217;s Definitive Proxy Statement of Schedule 14A, filed with the SEC on April 20, 2023)**</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.9</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494723001480/ex99-1.htm">Separation Agreement, dated as of December 21, 2023 by and between Sturm, Ruger, &amp; Co., Inc. and Thomas P. Sullivan</a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 99.1 to the Company's Current Report on Form 8-K filed with the SEC on December 21, 2023).**</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.10</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/0000095029/000117494725000035/ex10-1.htm"><span style="font-family: Times New Roman, Times, Serif">Employment Agreement, dated as of January 15, 2025, by and between the Company and Todd</span></a> <span style="font-family: Times New Roman, Times, Serif">W. Seyfert (Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed with the SEC on January 17, 2025). **</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">Exhibit 19.1</td>
    <td><a href="ex19-1.htm">Sturm Ruger &amp; Company, Inc. Insider Trading Policy</a></td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 23.1</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif"><a href="ex23-1.htm">Consent of RSM US LLP</a></span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 31.1</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif"><a href="ex31-1.htm">Certification of Chief Executive Officer Pursuant to Rule 13a-14(a) of the Exchange Act.</a></span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 31.2</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif"><a href="ex31-2.htm">Certification of Treasurer and Chief Financial Officer Pursuant to Rule 13a-14(a) of the Exchange Act.</a></span></td>
    </tr>

<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 32.1</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif"><a href="ex32-1.htm">Certification of the Chief Executive Officer Pursuant to Rule 13a-14(b) of the Exchange Act and 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></td>
    </tr>

<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 32.2</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif"><a href="ex32-2.htm">Certification of the Treasurer and Chief Financial Officer Pursuant to Rule 13a-14(b) of the Exchange Act and 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></td>
    </tr>
</table><div>

</div><p style="margin: 0"></p><div>

</div><!-- Field: Page; Sequence: 85 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->85<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;">
  <tr style="vertical-align: top">
    <td style="width: 0.5in">&#160;</td>
    <td style="vertical-align: top; text-align: left; width: 1.25in">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 97</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Executive Compensation Clawback Policy</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.INS*</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">XBRL Instance Document &#8211; the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.SCH*</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Schema Document</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.CAL*</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Calculation Linkbase Document</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.DEF*</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Definition Linkbase Document</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.LAB*</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Label Linkbase Document</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.PRE*</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Presentation Linkbase Document</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 104*</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Cover Page Interactive Data File &#8211; the cover page interactive data file does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</span></td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="vertical-align: top; text-align: left">&#160;&#160;*Filed herewith</td>
    <td>&#160;</td>
    </tr>
  <tr style="vertical-align: top">
    <td>&#160;</td>
    <td colspan="2">**Indicates management contract or compensatory plan or arrangement</td>
    </tr>
  </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-indent: 0.25in">&#160;</p><div>

</div><!-- Field: Page; Sequence: 86 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->86<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

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

</div><div><a id="a_027"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span style="text-decoration:underline">SIGNATURES</span></b></p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Pursuant to the requirements of Section 13 or
15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned,
thereunto duly authorized.</p><div>

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;">
  <tr style="vertical-align: top">
    <td style="width: 53%; text-align: justify">&#160;</td>
    <td style="width: 47%; border-bottom: Black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif">STURM, RUGER &amp; COMPANY, INC.</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif">(Registrant)</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">S/THOMAS A. DINEEN</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Thomas A. Dineen</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Principal Financial Officer</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Principal Accounting Officer, Senior Vice President,</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Treasurer, and Chief Financial Officer</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">February 19, 2025</span></td></tr>
  <tr style="vertical-align: top">
    <td style="text-align: justify">&#160;</td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif">Date</span></td></tr>
  </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Pursuant to the requirements of the Securities
Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities and
on the dates indicated.</p><div>

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

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

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;">
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt; width: 43%"><span style="font-family: Times New Roman, Times, Serif">S/CHRISTOPHER J. KILLOY</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; width: 4%; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/19/25</span></td>
    <td style="white-space: nowrap; width: 6%">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt; width: 43%"><span style="font-family: Times New Roman, Times, Serif">S/RONALD C. WHITAKER</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; width: 4%; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/19/25</span></td></tr>
  <tr style="vertical-align: top">
    <td colspan="2" style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Christopher J. Killoy<br/> Chief Executive Officer, Director<br/> (Principal Executive Officer)</span></td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Ronald C. Whitaker<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/JOHN A. COSENTINO, JR.</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/19/25</span></td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/PHILLIP C. WIDMAN</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/19/25</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">John A. Cosentino, Jr.<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Phillip C. Widman<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/AMIR P. ROSENTHAL</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/19/25</span></td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/SANDRA S. FROMAN</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/19/25</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Amir P. Rosenthal<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Sandra S. Froman<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/TERRENCE G. O&#8217;CONNOR</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/19/25</span></td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/REBECCA S. HALSTEAD</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/19/25</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Terrence G. O&#8217;Connor<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Rebecca S. Halstead<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/MICHAEL O. FIFER</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/19/25</span></td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">S/THOMAS A. DINEEN</span></td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">2/19/25</span></td></tr>
  <tr style="vertical-align: top">
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Michael O. Fifer<br/>
Director</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td>
    <td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt"><span style="font-family: Times New Roman, Times, Serif">Thomas A. Dineen<br/>
Principal Financial Officer<br/>
Principal Accounting Officer, Senior Vice<br/>
President, Treasurer, and Chief Financial Officer</span></td>
    <td style="white-space: nowrap; padding: 0pt; text-indent: 0pt">&#160;</td></tr>
  </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p><div>

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


</div><!-- Field: Page; Sequence: 87 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->87<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


</div><div><a id="a_028"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 27pt; text-align: center; text-indent: -27pt">EXHIBIT INDEX</p><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;">
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; width: 1.25in; text-align: left">&#160;</td>
    <td style="padding-right: 0pt">&#160;</td>
    <td style="width: 0.75in; padding-right: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif"><span style="text-decoration:underline">Page<br/>
 No.</span></span></td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 3.1</span></td>
    <td style="padding-right: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494723000837/ex4-1.htm"><span style="font-family: Times New Roman, Times, Serif">Certificate of Incorporation of the Company, as amended</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 4.1 to the Form S-8 Registration Statement previously filed by the Company File No. 333-272443 on June 6, 2023).</span></td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt">&#160;</td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 3.2</span></td>
    <td style="padding-right: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494719001186/ex3-1.htm"><span style="font-family: Times New Roman, Times, Serif">Bylaws of the Company, as amended through November 12, 2019</span></a><span style="font-family: Times New Roman, Times, Serif">.</span></td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt">&#160;</td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 4.1</span></td>
    <td style="padding-right: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494720000190/rgr10kex4-1.htm"><span style="font-family: Times New Roman, Times, Serif">Description of the Company&#8217;s Securities</span></a><span style="font-family: Times New Roman, Times, Serif">.</span></td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt">&#160;</td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.1</span></td>
    <td style="padding-right: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000110465924123672/tm2429341d1_ex99-1.htm"><span style="font-family: Times New Roman, Times, Serif">Severance Agreement, dated as of November 25, 2024, by and between the Company and Thomas A. Dineen</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 99.1 to the Company's Current Report on Form 8-K filed with the SEC on November 27, 2024). **</span></td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt">&#160;</td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.2</span></td>
    <td style="padding-right: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000110465924123672/tm2429341d1_ex99-2.htm"><span style="font-family: Times New Roman, Times, Serif">Severance Agreement, dated as of November 25, 2024 by and between the Company and Kevin B. Reid, Sr.</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 99.2 to the Company's Current Report on Form 8-K filed with the SEC on November 27, 2024).**</span></td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt">&#160;</td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.3</span></td>
    <td style="padding-right: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494716002978/ex10-1.htm"><span style="font-family: Times New Roman, Times, Serif">Transition Services and Consulting Agreement, dated August 1, 2016, by and between the Company and Michael O. Fifer</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed with the SEC on August 2, 2016).**</span></td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt">&#160;</td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.4</span></td>
    <td style="padding-right: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000110465920124326/tm2035867d1_ex10-1.htm"><span style="font-family: Times New Roman, Times, Serif">Amended and Restated Agreement, dated November 10, 2020, by and between the Company and Christopher J. Killoy</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K/A filed with the SEC on November 12, 2020).**</span></td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt">&#160;</td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.5</span></td>
    <td style="padding-right: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/95029/000110465924123672/tm2429341d1_ex99-3.htm"><span style="font-family: Times New Roman, Times, Serif">Executive Severance Agreement, dated November 25, 2024, by and between the Company and Shawn C. Leska</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 99.3 to the Company's Current Report on Form 8-K filed with the SEC on November 27, 2024).**</span></td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left">&#160;</td>
    <td style="padding-right: 0pt">&#160;</td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="padding-right: 0pt; vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.6</span></td>
    <td style="padding-right: 0pt"><a href="https://www.sec.gov/Archives/edgar/data/0000095029/000117494722000034/ex10-1.htm">Loan Agreement, dated January 7, 2022 between Sturm, Ruger &amp; Company, Inc. and Regions Bank</a>. <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed with the SEC on January 11, 2022) , as amended by that certain </span><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494722001168/ex99-1.htm"><span style="font-family: Times New Roman, Times, Serif">Amendment to Credit Agreement, dated November 3, 2022, between Sturm, Ruger &amp; Company, Inc. and Regions Bank</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 99.1 to the Company&#8217;s Current Report on Form 8-K filed with the SEC on November 4, 2022) and that certain </span><a href="https://www.sec.gov/Archives/edgar/data/0000095029/000117494724000810/ex99-1.htm"><span style="font-family: Times New Roman, Times, Serif">Second Amendment to Loan Agreement, dated June 6, 2024, between Sturm, Ruger &amp; Company, Inc. and Regions Bank</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 99.1 to the Company&#8217;s Current Report on Form 8-K filed with the SEC on June 10, 2024).</span></td>
    <td style="padding-right: 0pt; text-align: center">&#160;</td></tr>
  </table><div>
</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0"></p><div>

</div><!-- Field: Page; Sequence: 88 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->88<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0">EXHIBIT INDEX (continued)</p><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;">
  <tr style="vertical-align: top">
    <td style="vertical-align: top; width: 1.25in; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; width: 0.75in; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.7</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494717000464/def14a-17408_rgr.htm"><span style="font-family: Times New Roman, Times, Serif">The Sturm, Ruger &amp; Company, Inc. 2017 Stock Incentive Plan</span></a> <span style="font-family: Times New Roman, Times, Serif">(incorporated by reference to Annex A of the Company&#8217;s Definitive Proxy Statement of Schedule 14A, filed with the SEC on March 27, 2017)</span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.8</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/0000095029/000117494723000592/def14a0323_sturmruger.htm">The Sturm, Ruger &amp; Company, Inc. 2023 Stock Incentive Plan</a> (incorporated by reference to Annex A of the Company&#8217;s Definitive Proxy Statement of Schedule 14A, filed with the SEC on April 20, 2023).**</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.9</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/95029/000117494723001480/ex99-1.htm">Separation Agreement, dated as of December 21, 2023 by and between Sturm, Ruger, &amp; Co., Inc. and Thomas P. Sullivan</a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 99.1 to the Company's Current Report on Form 8-K filed with the SEC on December 21, 2023).**</span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 10.10</span></td>
    <td><a href="https://www.sec.gov/Archives/edgar/data/0000095029/000117494725000035/ex10-1.htm"><span style="font-family: Times New Roman, Times, Serif">Employment Agreement, dated as of January 15, 2025, by and between the Company and Todd W. Seyfert</span></a> <span style="font-family: Times New Roman, Times, Serif">(Incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed with the SEC on January 17, 2025). **</span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">Exhibit 19.1</td>
    <td><a href="ex19-1.htm">Sturm Ruger &amp; Company, Inc. Insider Trading Policy</a></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 23.1</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif"><a href="ex23-1.htm">Consent of RSM US LLP</a></span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif">93</span></td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 31.1</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif"><a href="ex31-1.htm">Certification of Chief Executive Officer Pursuant to Rule 13a-14(a) of the Exchange Act.</a></span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif">94</span></td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 31.2</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif"><a href="ex31-2.htm">Certification of Treasurer and Chief Financial Officer Pursuant to Rule 13a-14(a) of the Exchange Act.</a></span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif">96</span></td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 32.1</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif"><a href="ex32-1.htm">Certification of the Chief Executive Officer Pursuant to Rule 13a-14(b) of the Exchange Act and 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif">98</span></td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 32.2</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif"><a href="ex32-2.htm">Certification of the Treasurer and Chief Financial Officer Pursuant to Rule 13a-14(b) of the Exchange Act and 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif">99</span></td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 97</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Executive Compensation Clawback Policy</span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.INS*</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Instance Document&#8211; the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.SCH*</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Schema Document</span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.CAL*</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Calculation Linkbase Document</span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.DEF*</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Definition Linkbase Document</span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
</table><div>

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

</div><!-- Field: Page; Sequence: 89 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->89<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="margin: 0"></p><div>

</div><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;">
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left; width: 1.25in"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.LAB*</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Label Linkbase Document</span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center; width: 0.75in">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 101.PRE*</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Inline XBRL Taxonomy Extension Presentation Linkbase Document</span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left"><span style="font-family: Times New Roman, Times, Serif">Exhibit 104*</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif">Cover Page Interactive Data File &#8211; the cover page interactive data file does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.</span></td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: top">
    <td style="vertical-align: top; text-align: left">&#160;</td>
    <td>&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr>
    <td style="vertical-align: top; text-align: left">&#160;&#160;*Filed herewith</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  <tr>
    <td colspan="2" style="vertical-align: bottom">**Indicates management contract or compensatory plan or arrangement</td>
    <td style="vertical-align: bottom; padding-right: 0pt; text-align: center">&#160;</td></tr>
  </table><div>

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

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


</div><!-- Field: Page; Sequence: 90 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->90<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


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

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">YEAR ENDED DECEMBER 31, 2024<br/>
<br/>
STURM, RUGER &amp; COMPANY, INC.<br/>
<br/>
<br/>
<br/>
</p><div>

</div><div><a id="a_029"></a></div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">ITEMS 15(a)<br/>
FINANCIAL STATEMENT SCHEDULE</p><div>

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


</div><!-- Field: Page; Sequence: 91 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->91<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>


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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Sturm, Ruger &amp; Company, Inc.</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Item 15(a)--Financial Statement Schedule</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Schedule II&#8212;Valuation and Qualifying Accounts</p><div>

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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><i>(In Thousands)</i></p><div>

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

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

</div><table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap">COL. A</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">COL. B</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td>
    <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">COL. C</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">COL. D</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">COL. E</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td><td style="white-space: nowrap; font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">&#160;</td><td style="white-space: nowrap; font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">ADDITIONS</td><td style="white-space: nowrap; font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">&#160;</td><td style="white-space: nowrap; font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">&#160;</td><td style="white-space: nowrap; font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap">Description</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">Balance at<br/>
Beginning<br/>
of Period</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">(1)<br/>
Charged <br/>
(Credited) to<br/>
Costs and<br/>
Expenses</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">(2)<br/>
Charged to<br/>
Other<br/>
Accounts<br/>
&#8211;Describe</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">Deductions</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">Balance<br/>
at End<br/>
of<br/>
 Period</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; padding-bottom: 1pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td style="white-space: nowrap">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td style="white-space: nowrap">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td style="white-space: nowrap">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td style="white-space: nowrap">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td style="white-space: nowrap">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="white-space: nowrap; text-align: left">Deductions from asset accounts:</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="white-space: nowrap; text-align: left; padding-left: 9pt">Allowance for doubtful accounts:</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="white-space: nowrap; width: 35%; padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2024</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; width: 10%; border-bottom: Black 1pt solid; text-align: right">400</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; width: 10%; border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; width: 10%; padding-bottom: 1pt; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; width: 10%; border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; width: 10%; border-bottom: Black 1pt solid; text-align: right">400</td><td style="white-space: nowrap; width: 1%; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="white-space: nowrap; padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2023</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">400</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: right">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">400</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="white-space: nowrap; padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2022</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">400</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: right">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">&#8212;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">400</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="white-space: nowrap">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="white-space: nowrap; text-align: left; padding-left: 9pt">Allowance for discounts:</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap">&#160;</td>
    <td style="white-space: nowrap; text-align: left">&#160;</td><td style="white-space: nowrap; text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="white-space: nowrap; padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2024</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">1,164</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">12,241</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: right">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">12,095</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">(a)</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">1,310</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="white-space: nowrap; padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2023</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">1,334</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">12,540</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: right">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">12,710</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">(a)</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">1,164</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="white-space: nowrap; padding-bottom: 1pt; padding-left: 0.25in">Year ended December 31, 2022</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">1,169</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">13,849</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: right">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">13,684</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">(a)</td><td style="white-space: nowrap; padding-bottom: 1pt">&#160;</td>
    <td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">$</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: right">1,334</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
</table><div>

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


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

</div><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 27pt; text-align: justify; text-indent: -27pt">(a) Discounts taken</p><div>

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

</div><p style="margin: 0"></p><div>

</div><!-- Field: Page; Sequence: 92 --><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><p style="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->92<!-- Field: /Sequence -->&#160;</p></div><div>
    </div><div style="margin-top: 6pt; margin-bottom: 6pt"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&#160;</p></div><div>
    </div><!-- Field: /Page --><div>

</div><p style="margin: 0"></p><div>

</div><div style="display: none"><ix:header>
<ix:hidden>
<ix:nonNumeric contextRef="c0" id="hidden-fact-0" name="dei:EntityWellKnownSeasonedIssuer">Yes</ix:nonNumeric>
<ix:nonNumeric contextRef="c0" id="hidden-fact-1" name="dei:EntityVoluntaryFilers">No</ix:nonNumeric>
<ix:nonNumeric contextRef="c0" id="hidden-fact-2" name="dei:EntityCurrentReportingStatus">Yes</ix:nonNumeric>
<ix:nonNumeric contextRef="c0" id="hidden-fact-3" name="dei:EntityInteractiveDataCurrent">Yes</ix:nonNumeric>
<ix:nonFraction contextRef="c3" id="hidden-fact-4" name="us-gaap:ContractWithCustomerLiabilityCurrent" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c3" id="hidden-fact-5" name="us-gaap:CommitmentsAndContingencies" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c4" id="hidden-fact-6" name="us-gaap:CommitmentsAndContingencies" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c5" id="hidden-fact-7" name="us-gaap:CommonStockValue" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c6" id="hidden-fact-8" name="us-gaap:CommonStockValue" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c5" id="hidden-fact-9" name="us-gaap:CommonStockSharesIssued" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c6" id="hidden-fact-10" name="us-gaap:CommonStockSharesIssued" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c0" id="hidden-fact-11" name="us-gaap:OtherOperatingIncomeExpenseNet" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c16" id="hidden-fact-12" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c15" id="hidden-fact-13" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c0" id="hidden-fact-14" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c0" id="hidden-fact-15" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c0" id="hidden-fact-16" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c0" id="hidden-fact-17" name="us-gaap:ProceedsFromSaleOfProductiveAssets" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c21" id="hidden-fact-18" name="us-gaap:ContractWithCustomerLiability" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c16" id="hidden-fact-19" name="us-gaap:DeferredIncomeRevenueRecognized" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c0" id="hidden-fact-20" name="us-gaap:DeferredRevenueAdditions" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c3" id="hidden-fact-21" name="us-gaap:ContractWithCustomerLiability" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c3" id="hidden-fact-22" name="rgr:DeferredContractRevenueLiability" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c0" id="hidden-fact-23" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c15" id="hidden-fact-24" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c0" id="hidden-fact-25" name="us-gaap:GainLossOnSaleOfOtherAssets" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c82" id="hidden-fact-26" name="us-gaap:TreasuryStockSharesAcquired" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c82" id="hidden-fact-27" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" unitRef="usdPershares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c83" id="hidden-fact-28" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c84" id="hidden-fact-29" name="us-gaap:TreasuryStockSharesAcquired" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c84" id="hidden-fact-30" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" unitRef="usdPershares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c85" id="hidden-fact-31" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c88" id="hidden-fact-32" name="us-gaap:TreasuryStockSharesAcquired" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c88" id="hidden-fact-33" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" unitRef="usdPershares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c89" id="hidden-fact-34" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c92" id="hidden-fact-35" name="us-gaap:TreasuryStockSharesAcquired" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c92" id="hidden-fact-36" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" unitRef="usdPershares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c93" id="hidden-fact-37" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c94" id="hidden-fact-38" name="us-gaap:TreasuryStockSharesAcquired" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c94" id="hidden-fact-39" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" unitRef="usdPershares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c95" id="hidden-fact-40" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c106" id="hidden-fact-41" name="us-gaap:TreasuryStockSharesAcquired" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c106" id="hidden-fact-42" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" unitRef="usdPershares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c107" id="hidden-fact-43" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c114" id="hidden-fact-44" name="us-gaap:TreasuryStockSharesAcquired" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c114" id="hidden-fact-45" name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" unitRef="usdPershares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c115" id="hidden-fact-46" name="srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" unitRef="shares" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c216" id="hidden-fact-47" name="rgr:ValuationAllowancesAndReservesSettlements" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c218" id="hidden-fact-48" name="rgr:ValuationAllowancesAndReservesSettlements" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonFraction contextRef="c220" id="hidden-fact-49" name="rgr:ValuationAllowancesAndReservesSettlements" unitRef="usd" xsi:nil="true"></ix:nonFraction>
<ix:nonNumeric contextRef="c0" name="dei:EntityCentralIndexKey" id="ixv-17266">0000095029</ix:nonNumeric>
<ix:nonNumeric contextRef="c0" name="dei:AmendmentFlag" id="ixv-17267">false</ix:nonNumeric>
<ix:nonNumeric contextRef="c0" name="dei:DocumentFiscalPeriodFocus" id="ixv-17268">FY</ix:nonNumeric>
</ix:hidden>
<ix:references><link:schemaRef xlink:href="rgr-20241231.xsd" xlink:type="simple"/></ix:references>
<ix:resources xmlns="http://www.xbrl.org/2003/instance"><ix:relationship xmlns="" fromRefs="ix_0_fact ix_1_fact ix_2_fact ix_3_fact ix_4_fact ix_5_fact" toRefs="ix_0_footnote"/>
<ix:relationship xmlns="" fromRefs="ix_6_fact ix_7_fact ix_8_fact ix_12_fact ix_13_fact ix_14_fact" toRefs="ix_1_footnote"/>
<ix:relationship xmlns="" fromRefs="ix_9_fact ix_10_fact ix_11_fact" toRefs="ix_2_footnote"/>
<ix:relationship xmlns="" fromRefs="hidden-fact-47 hidden-fact-48 hidden-fact-49" toRefs="ix_3_footnote"/>
<ix:relationship xmlns="" fromRefs="ix_15_fact ix_16_fact ix_17_fact" toRefs="ix_5_footnote"/>
<ix:relationship xmlns="" fromRefs="ix_18_fact ix_19_fact ix_20_fact ix_21_fact ix_22_fact ix_23_fact" toRefs="ix_6_footnote"/>
<xbrli:context xmlns="" id="c0">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c1">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c2">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2025-02-10</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c3">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c4">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c5">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c6">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c7">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c8">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c9">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c10">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c11">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c12">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c13">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c14">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c15">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c16">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c17">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c18">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c19">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c20">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c21">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c22">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c23">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c24">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c25">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c26">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</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 xmlns="" id="c27">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</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 xmlns="" id="c28">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</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 xmlns="" id="c29">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</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 xmlns="" id="c30">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c31">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c32">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c33">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c34">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c35">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</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 xmlns="" id="c36">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</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 xmlns="" id="c37">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</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 xmlns="" id="c38">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</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 xmlns="" id="c39">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c40">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c41">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c42">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c43">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c44">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c45">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c46">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c47">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c48">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:ExportSalesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c49">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsSalesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c50">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c51">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c52">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c53">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c54">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerTwoMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c55">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerThreeMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c56">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerFourMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c57">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c58">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerTwoMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c59">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerThreeMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c60">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c61">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c62">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c63">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c64">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c65">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c66">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">rgr:TradeNameMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c67">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c68">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c69">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c70">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:TradeAccountsPayableAndAccruedExpensesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c71">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:TradeAccountsPayableAndAccruedExpensesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c72">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:LeaseLiabilitiesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c73">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:LeaseLiabilitiesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c74">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">rgr:OperatingLeaseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c75">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-11-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c76">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:DividendsAxis">rgr:S2022Q4DividendsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-11-30</xbrli:startDate>
    <xbrli:endDate>2022-11-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c77">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-01-05</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c78">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:DividendsAxis">rgr:S2022Q4DividendsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-05</xbrli:startDate>
    <xbrli:endDate>2023-01-05</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c79">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-01-07</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c80">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-06-06</xbrli:startDate>
    <xbrli:endDate>2024-06-06</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c81">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2025-01-01</xbrli:startDate>
    <xbrli:endDate>2025-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c82">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThreeToJulyThirtyMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2022-09-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c83">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThreeToJulyThirtyMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-09-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c84">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThirtyoneToAugustTwentySevenMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2022-09-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c85">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThirtyoneToAugustTwentySevenMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-09-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c86">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AugustTwentyEightToOctoberOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-07-01</xbrli:startDate>
    <xbrli:endDate>2022-09-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c87">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AugustTwentyEightToOctoberOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-09-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c88">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwoToOctoberTwentyNineMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-10-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c89">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwoToOctoberTwentyNineMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c90">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberThirtyToNovemberTwentySevenMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-10-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c91">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberThirtyToNovemberTwentySevenMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c92">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentySevenToDecemberThirtyOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-10-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c93">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentySevenToDecemberThirtyOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c94">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberOneToOctoberTwentyEightMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-10-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c95">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberOneToOctoberTwentyEightMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c96">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwentyNineToNovemberTwentyFiveMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-10-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c97">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwentyNineToNovemberTwentyFiveMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c98">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentySixToDecemberThirtyOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-10-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c99">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentySixToDecemberThirtyOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c100">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JanuaryOneToJanuaryTwentySevenMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FirstQuarter2024Member</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 xmlns="" id="c101">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JanuaryOneToJanuaryTwentySevenMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FirstQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-03-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c102">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JanuaryTwentyEightToFebruaryTwentyFourMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FirstQuarter2024Member</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 xmlns="" id="c103">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JanuaryTwentyEightToFebruaryTwentyFourMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FirstQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-03-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c104">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:FebruaryTwentyFiveToMarchThirtyMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FirstQuarter2024Member</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 xmlns="" id="c105">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:FebruaryTwentyFiveToMarchThirtyMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FirstQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-03-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c106">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:MarchThirtyOneToAprilTwentySevenMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:SecondQuarter2024Member</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 xmlns="" id="c107">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:MarchThirtyOneToAprilTwentySevenMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:SecondQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c108">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AprilTwentyEightToMayTwentyFiveMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:SecondQuarter2024Member</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 xmlns="" id="c109">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AprilTwentyEightToMayTwentyFiveMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:SecondQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c110">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:MayTwentySixToJuneTwentyNineMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:SecondQuarter2024Member</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 xmlns="" id="c111">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:MayTwentySixToJuneTwentyNineMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:SecondQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-06-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c112">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JuneThirtyToJulyTwentySevenMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-07-01</xbrli:startDate>
    <xbrli:endDate>2024-09-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c113">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JuneThirtyToJulyTwentySevenMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-09-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c114">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyTwentyEightToAugustTwentyFourMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-07-01</xbrli:startDate>
    <xbrli:endDate>2024-09-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c115">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyTwentyEightToAugustTwentyFourMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-09-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c116">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AugustTwentyFiveToSeptemberTwentyEightMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-07-01</xbrli:startDate>
    <xbrli:endDate>2024-09-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c117">
<!-- [WMV6][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrae3Q64+IQnmb2USxqPYGfVI2tDrLdUwwGN7MqrQdhG+SCWYUh6Hp+V8bA/AEnE3cNkyoG64Ll76gCDgC4Z1W711EVHq0feHKsI1Gwu4Aj9R4Y6zDFYQe1j2qEiui+5O18VDe6OJPfndHv6hh1fIzram6R/SUPM2cdZx4eP1G4UZA/qczLkJ6S47W0oXkqD3/eDQlF7C1TVVk9UfX1E3ulYy35B1qazkv/+MF8iAj1dYiXB9/ePrk1a] CSR-->
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AugustTwentyFiveToSeptemberTwentyEightMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-09-30</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c118">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:SeptemberTwentyNineToOctoberTwentySixMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-10-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c119">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:SeptemberTwentyNineToOctoberTwentySixMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c120">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwentySevenToNovemberTwentyThreeMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-10-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c121">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwentySevenToNovemberTwentyThreeMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c122">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentyThreeToDecemberThirtyOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-10-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c123">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentyThreeToDecemberThirtyOneMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c124">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-10-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c125">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgr:StockIncentivePlan2017Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2017-05-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c126">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgr:StockIncentivePlan2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c127">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgr:StockIncentivePlan2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c128">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:VestingAxis">rgr:VestInJune2025Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c129">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:VestingAxis">rgr:VestInJune2027Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c130">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:VestingAxis">rgr:VestInJune2024Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c131">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:VestingAxis">rgr:VestInJune2026Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c132">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:VestingAxis">rgr:VestInMay2023Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c133">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:VestingAxis">rgr:VestingInMay2025Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c134">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:VestingAxis">rgr:VestInJune2027Member</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c135">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c136">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c137">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c138">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c139">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c140">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c141">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c142">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</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-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c143">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c144">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      <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-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c145">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      <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-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c146">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c147">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c148">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c149">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c150">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:LipseysMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c151">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:SportsSouthMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c152">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:DavidsonsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c153">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:LipseysMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c154">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:DavidsonsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c155">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:SportsSouthMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c156">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:LipseysMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c157">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:DavidsonsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c158">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:SportsSouthMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c159">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c160">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c161">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c162">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c163">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c164">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c165">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsUnaffiliatedMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c166">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsUnaffiliatedMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c167">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsUnaffiliatedMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c168">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:IntersegmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c169">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:IntersegmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c170">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:IntersegmentMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c171">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c172">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c173">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c174">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:EliminationsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c175">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:EliminationsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c176">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:EliminationsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c177">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CorporatesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c178">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CorporatesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c179">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CorporatesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c180">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c181">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c182">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c183">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c184">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c185">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c186">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CorporatesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c187">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CorporatesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c188">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CorporatesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c189">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-03-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c190">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-04-01</xbrli:startDate>
    <xbrli:endDate>2024-06-29</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c191">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-07-01</xbrli:startDate>
    <xbrli:endDate>2024-09-28</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c192">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-04-01</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c193">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-04-05</xbrli:startDate>
    <xbrli:endDate>2023-07-01</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c194">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-07-05</xbrli:startDate>
    <xbrli:endDate>2023-09-30</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c195">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-10-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c196">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalRifleAssociationMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c197">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalShootingSportsFoundationMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c198">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalRifleAssociationMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c199">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalRifleAssociationMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c200">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalShootingSportsFoundationMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c201">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalShootingSportsFoundationMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c202">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2021-01-01</xbrli:startDate>
    <xbrli:endDate>2021-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c203">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TrademarkLitigationMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c204">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TrademarkLawsuitMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c205">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TraditionalProductLiabilityLawsuitMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c206">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:MunicipalLawsuitMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c207">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:UnfairTradePracticesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c208">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TraditionalProductLiabilityLawsuitMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c209">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:MunicipalLawsuitMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c210">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:UnfairTradePracticesMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c211">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:NegligenceLawsuitMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c212">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TraditionalProductLiabilityLawsuitMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c213">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:MunicipalLawsuitMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c214">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:NegligenceLawsuitMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c215">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMemberMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2021-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c216">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMemberMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c217">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMemberMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c218">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMemberMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c219">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMemberMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c220">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMemberMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c221">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMemberMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c222">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:AccruedLegalExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c223">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:InsurancePremiumExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2022-01-01</xbrli:startDate>
    <xbrli:endDate>2022-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c224">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:TotalProductLiabilityExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2022-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c225">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:AccruedLegalExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c226">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:InsurancePremiumExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2023-01-01</xbrli:startDate>
    <xbrli:endDate>2023-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c227">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:TotalProductLiabilityExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2023-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c228">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:AccruedLegalExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c229">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:InsurancePremiumExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-01-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c230">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:TotalProductLiabilityExpenseMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c231">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2025-02-14</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c232">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgr:JohnACosentinoJrMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:startDate>2024-10-01</xbrli:startDate>
    <xbrli:endDate>2024-12-31</xbrli:endDate>
  </xbrli:period>
</xbrli:context><xbrli:context xmlns="" id="c233">
  <xbrli:entity>
    <xbrli:identifier scheme="http://www.sec.gov/CIK">0000095029</xbrli:identifier>
    <xbrli:segment>
      <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgr:JohnACosentinoJrMember</xbrldi:explicitMember>
    </xbrli:segment>
  </xbrli:entity>
  <xbrli:period>
    <xbrli:instant>2024-12-31</xbrli:instant>
  </xbrli:period>
</xbrli:context><xbrli:unit xmlns="" id="usd">
  <xbrli:measure>iso4217:USD</xbrli:measure>
</xbrli:unit><xbrli:unit xmlns="" id="shares">
  <xbrli:measure>xbrli:shares</xbrli:measure>
</xbrli:unit><xbrli:unit xmlns="" id="usdPershares">
  <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 xmlns="" id="pure">
  <xbrli:measure>xbrli:pure</xbrli:measure>
</xbrli:unit><xbrli:unit xmlns="" id="segments">
  <xbrli:measure>rgr:segments</xbrli:measure>
</xbrli:unit></ix:resources></ix:header>

</div></div></body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-19
<SEQUENCE>2
<FILENAME>ex19-1.htm
<DESCRIPTION>EX-19
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0.85pt 196.75pt 3.9pt 200.85pt">&nbsp;</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center">Sturm, Ruger &amp; Company, Inc.<BR>
<BR>
Insider Trading Policy</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center">Adopted 2-2023<BR>
<BR>
Sturm, Ruger &amp; Company, Inc. (together with its subsidiaries, the &ldquo;Company&rdquo;) is a publicly-traded company whose stock
is traded on the New York Stock Exchange under the symbol &ldquo;RGR.&rdquo; While working for the Company, you may learn important and
confidential information, called &ldquo;material nonpublic information,&rdquo; about the Company or about the Company&rsquo;s suppliers,
customers, or business that could affect the Company&rsquo;s stock price. It is against the law and Company policy to buy or sell Company
stock on the basis of material nonpublic information.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">Under the federal securities laws, <B>the penalties
for insider trading are very severe</B>, including the return of all trading profits, fines of three times the profit, and a prison term.
The short-term gain that an insider might obtain by buying or selling the Company&rsquo;s stock based on material nonpublic &ldquo;inside&rdquo;
information is very much offset by the possible civil penalty of $1 million (or, if greater, three times the profit gained or loss avoided),
$5 million criminal fine for individuals, $25 million criminal fine for the Company, and a maximum jail term of 20 years for each violation
of these laws.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">The purpose of this Insider Trading Policy (this
&ldquo;Policy&rdquo;) is both to inform you of your legal responsibilities and to make clear that the misuse of sensitive information
is contrary to Company policy and will be dealt with severely. The violation of any of the policies and rules in this Policy could result
in the civil or criminal penalties described above and termination of your employment or other relationship with the Company. This Policy
applies to all Company officers, employees, directors, their family members and other persons living in their households, and trusts and
other entities (including charitable organizations) over which they have or share voting or investment control.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">Each director, officer, and employee has a duty
to cooperate in any investigation or other effort by the Company to respond to a report of a suspected violation of this Policy and the
Company will not tolerate any efforts to cover up a violation or otherwise impede an investigation or corrective action. Any such conduct
is itself a violation of this Policy.</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center">The obligation of confidentiality</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">As an essential part of your work for or with
the Company, many of you use or have access to material nonpublic information about the Company or its suppliers, customers, and other
business partners. Those of you who possess or monitor such information hold a special position of trust and confidence toward it.</P>

<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt"></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center">The basic prohibition</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">Court and SEC administrative decisions generally
make it <U>unlawful for any person to trade securities while in possession of material nonpublic information or to selectively disclose
such information to others who may trade</U>. Violation of these provisions may result in civil and criminal penalties, including fines
and jail sentences, as noted above.</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center">&ldquo;Nonpublic&rdquo; information defined</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in"><U>&ldquo;Nonpublic&rdquo; information is any
information that has not been disclosed generally to the marketplace</U>. Information received about the Company or its customers, suppliers,
or business partners under circumstances that indicate that it is not yet in general circulation should be considered nonpublic. As a
rule, one should be able to point to some fact to show that the information is generally available; for example, its announcement in The
Wall Street Journal or other major news publication. Even after the Company has released information to the press and the information
has been reported, at least twenty-four (24) hours (including one (1) full trading day) must be allowed for the general marketplace to
learn of and evaluate that information before you trade in Company securities.</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center">&ldquo;Material&rdquo; information defined</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">&ldquo;<U>Material&rdquo; information is any information
about or affecting the Company or the market for the Company&rsquo;s securities which is likely to be considered important by reasonable
investors</U>, including reasonable speculative investors, in determining whether to buy, sell, or hold such securities. Among other things,
information that affects the price of the Company&rsquo;s securities is &ldquo;material.&rdquo; It is important to note that material
information is not limited to information which would cause a reasonable investor to buy or sell. As long as such an investor would consider
it important in arriving at a decision, the information is material.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">While it is not possible to identify in advance
all information that will be deemed to be material, some illustrations of such information would include: earnings, results of operations,
dividend actions, mergers and acquisitions, major discoveries, major new products, developments regarding customers, suppliers, or business
partners, changes in auditors or an auditor notification that the Company may no longer rely on an auditor&rsquo;s report, events regarding
the Company&rsquo;s stock, including repurchase plans, changes to the rights of securities holders, and public and private sales of additional
stock, financial condition, material litigation, regulatory issues, cash flows, significant advances in research, major personnel changes,
labor situations, major shutdowns, unusual gains or losses in major operations, the early termination of a Company insider trading window,
and major marketing changes. If you are considering purchasing or selling securities of the Company (or some other company) because of
some piece of information concerning a potential or pending, but unannounced, event or development, it is likely material.</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center">Prohibition against trading and tipping</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in"><U>Whenever you receive any significant information
about the Company, you must refrain from trading while in possession of that information unless you first determine that the information
is either public, nonmaterial, or both</U>. <U>In addition, you must refrain from disclosing the information to others</U>, such as family,
relatives, business or social acquaintances, or other Company employees, who do not need to know it for Company-related business reasons.
If you have any questions at all as to whether the information is material and nonpublic, you must resolve those questions before trading,
recommending trading, or divulging the information. If any doubt at all remains, you should consult the Company&rsquo;s Legal Department.</P>

<!-- Field: Page; Sequence: 2; Options: NewSection; Value: 2 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt"></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center">Disclosing material nonpublic information
to outsiders</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">On occasion, it may be necessary for legitimate
Company-related business reasons to disclose material nonpublic information to persons outside the Company. This might include, for example,
commercial bankers, investment bankers, or companies seeking to engage in a joint venture, merger, or common investment, or other joint
goal with the Company. In such circumstances, the <U>information must not be conveyed until an express, written agreement has been reached
that such information is not to be used for trading purposes and may not be further disclosed other than for legitimate business reasons
and only as permitted pursuant to the terms of such agreement</U>.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">From time to time, the Company receives inquiries
concerning factual matters that could affect the market for the Company&rsquo;s securities from financial analysts, shareholders, reporters,
and others outside the Company. In order to guard against the release of material nonpublic information, such inquiries should be referred
to the Company&rsquo;s General Counsel.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">If material nonpublic information is disclosed
by any Company director, officer, or employee in violation of this Policy, any person making or discovering that disclosure must immediately
report all relevant facts to the Company&rsquo;s General Counsel for a decision regarding appropriate remedial steps.</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center">Guidelines for buying or selling Company
stock</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">The Company has adopted the following guidelines
for Company officers, directors, and employees who know of material nonpublic information and are contemplating securities transactions.
These guidelines also apply to the family members and other persons living in the household of any Company officer, director, or employee,
and any trust, entity, or group owned or controlled by any of the foregoing persons, and any other entity (including charitable organizations)
or group where any of the foregoing persons has or shares with others the power to decide whether to buy or sell Company securities:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">1.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>An appropriate method of purchases or sales is through a periodic investment plan adopted by a director, officer, or employee at
a time when such director, officer or employee is not in possession of material nonpublic information and pursuant to which such person
<U>makes purchases or sales under an established written plan administered by a broker, where the timing of each transaction is outside
the control of the officer, director, or employee, and that otherwise satisfies the requirements of SEC Rule 10b5-1</U>. (See <U>Rule
10b5-1 Plans</U>, described more fully below.)</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">2.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT><U>Officers, directors, and employees are generally permitted to buy or sell stock in the Company for a thirty (30) day period
beginning on the fourth trading day after the Company&rsquo;s Annual Report on Form 10-K or any Quarterly Report on Form 10-Q has been
filed with the SEC</U>, provided that prior to engaging in any transaction an officer or director must contact the Company&rsquo;s General
Counsel to notify them of the potential transactions and make sure that there are no important developments pending which need to be made
public before they may trade. <U>This trading &ldquo;window&rdquo; will generally remain open until the earliest of the following to occur</U>:</P>

<!-- Field: Page; Sequence: 3; Value: 2 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt"></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 1in"></TD><TD STYLE="width: 0.5in">(i)</TD><TD>thirty (30) days after the window opens;</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 1in"></TD><TD STYLE="width: 0.5in">(ii)</TD><TD>the end of the calendar month in which the Company&rsquo;s Annual Report on Form 10-K or any Quarterly Report on Form 10-Q is filed;
or</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 1in"></TD><TD STYLE="width: 0.5in">(iii)</TD><TD>when the Company makes a determination (for all or some portion of the directors, officers, and employees) that the window will close,
including because an important development has occurred that has not been publicly disclosed; or</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 1in"></TD><TD STYLE="width: 0.5in">(iv)</TD><TD>with respect to a director, officer, or employee and his or her related persons, when such director, officer, or employee otherwise
comes into possession of material nonpublic information about or affecting the Company.</TD></TR></TABLE>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center">Special warning of when not to trade</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">Officers and directors are required to check with
the Company&rsquo;s General Counsel to determine if the trading &ldquo;window&rdquo; for a period is closed. Moreover, officers, directors,
and employees <U>should consider the following before purchasing or selling the Company&rsquo;s securities:</U></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">1.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>whether they are aware of a development of major importance that is expected to reach the appropriate time for announcement within
the next few months, or</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">2.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>recent earnings, dividends, or other important developments that have not yet appeared in the press or been publicly disclosed
by the Company.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 6pt">As noted above, these guidelines also apply to the family members
and other persons living in the household of any Company officer, director, or employee, and any trust, entity, or group owned or controlled
by any of the foregoing persons, and any other entity or group where any of the foregoing persons has or shares with others the power
to decide whether to buy or sell Company securities.</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center">Prohibited speculative transactions</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 1in"><FONT STYLE="font-style: normal; font-weight: normal">Trading
in &ldquo;puts&rdquo; and &ldquo;calls&rdquo; (publicly traded options to sell or buy stock), engaging in short sales, and transactions
involving purchases and sales within a short period of time are often perceived as involving insider trading and they may focus your attention
on the Company&rsquo;s short-term performance rather than its long-term objectives. In addition, Section 16(c) of the Exchange Act prohibits
officers and directors from engaging in short sales. To avoid the appearance of impropriety, you are expected to approach transactions
in the Company&rsquo;s securities as long-term investments and not for purposes of short-term or speculative profits. Accordingly, hedging
transactions designed to hedge or offset a decrease in the value of Company securities and other transactions of a speculative nature
in Company securities are prohibited. Examples of prohibited speculative transactions include:</FONT></P>

<!-- Field: Page; Sequence: 4; Value: 2 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-style: normal; font-weight: normal"></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-style: normal; font-weight: normal">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in"><FONT STYLE="font-family: Symbol; font-weight: normal">&middot;</FONT></TD><TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-weight: normal">Short-term, &ldquo;in-and-out&rdquo; trading;</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in"><FONT STYLE="font-family: Symbol; font-weight: normal">&middot;</FONT></TD><TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-weight: normal">&ldquo;Short sales&rdquo; (sales of shares that are
not owned);</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-weight: normal">Sales of borrowed shares against shares already owned,
but not delivered against the sale;</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in"><FONT STYLE="font-family: Symbol; font-weight: normal">&middot;</FONT></TD><TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-weight: normal">Transactions on margin, except as described below;</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-weight: normal">Transactions based on rumors or speculation of extraordinary
corporate transactions or</FONT><BR>
<FONT STYLE="font-family: Times New Roman, Times, Serif; font-weight: normal">other significant developments that might involve the Company
(as described above,</FONT><BR>
<FONT STYLE="font-family: Times New Roman, Times, Serif; font-weight: normal">such transactions may be viewed as involving the misuse
of material nonpublic information); and</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in"><FONT STYLE="font-family: Symbol; font-weight: normal">&middot;</FONT></TD><TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-weight: normal">Transactions in publicly traded put, call, or other
options on (or other derivative securities involving) the Company&rsquo;s securities.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 1in">If you have any questions at all as to whether a transaction
that you wish to engage in is prohibited by this Policy, you should consult with the Company&rsquo;s General Counsel.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: center"><B>Margin accounts and pledging company securities</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 1in"><FONT STYLE="font-style: normal; font-weight: normal">Because
a broker is permitted to sell securities in a margin account if the customer fails to meet a margin call, the securities can be sold at
a time when the customer is aware of material nonpublic information about the Company. Further, a foreclosure sale under any other securities
loan arrangement could also occur at a time when the borrower has nonpublic information about or affecting the Company. Therefore, you
may not hold Company securities in a margin account or pledge Company securities as collateral for a loan. An exception to this prohibition
may be granted in the case of a non-margin loan where you are able to clearly demonstrate the financial ability to repay the loan without
resorting to the pledged securities. A request for any such exception must be made to the Company&rsquo;s General Counsel at least ten
(10) days in advance of entering into the applicable pledge agreement. The Company&rsquo;s General Counsel shall be promptly notified
of any relevant changes in events and/or circumstances that occur after such notice has been given.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 1in"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-indent: 1in"><FONT STYLE="font-style: normal; font-weight: normal">Specific
exceptions to the limitations on trading set forth in this Policy may be made when a person does not possess material nonpublic information,
personal circumstances warrant the exception, and the exception would not otherwise contravene the law or the purposes of this Policy.
Any request for an exception should be directed to the Company&rsquo;s General Counsel.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center">Rule 10b5-1 Plans</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">Rule 10b5-1 plans provide a safe harbor to insiders
who purchase or sell securities while in possession of material nonpublic information. Because Rule 10b5-1 plans and related transactions
are complex and the related legal requirements for Rule 10b5-1 plans were comprehensively revised by the SEC in 2022, we urge you to contact
counsel before adopting, modifying, or terminating a Rule 10b5-1 plan. The Company will allow certain otherwise prohibited transactions
to be made provided that they are made in compliance with SEC Rule 10b5-1.</P>

<!-- Field: Page; Sequence: 5; Value: 2 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">In accordance with Rule 10b5-1, the Company will
permit the purchase or sale of Company securities outside of a trading window or while an insider is in possession of material nonpublic
information if the sale is made pursuant to a plan that qualifies for the &ldquo;affirmative defenses&rdquo; under Rule 10b5-1 (as described
below). The Company reserves the right to prohibit transactions that comply with Rule 10b5-1 if it believes they are prohibited under
any other law, order, rule, or regulation.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">Rule 10b5-1 provides that any purchase or sale
of securities while an insider is in possession of material nonpublic information is illegal, without any need to show that the information
was a motivating factor in making the sale. Because the definition of material nonpublic information is so vague, insiders are frequently
unsure whether information they are aware of might later be deemed material. Rule 10b5-1 abolishes any distinction between &ldquo;use&rdquo;
and &ldquo;possession&rdquo; of material nonpublic information and increases the risks for insiders who engage in securities transactions
at a time when they arguably know material nonpublic information. Rule 10b5-1, however, establishes exceptions (i.e., &ldquo;affirmative
defenses&rdquo;) that allow insiders to trade under certain defined circumstances irrespective of the material nonpublic information within
their possession. These affirmative defenses are described below and are attached hereto as <U>Exhibit A</U>.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">An insider may trade if, before becoming aware
of the material nonpublic information, that person:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">1.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>Entered into a binding contract to purchase or sell the security, provided instructions to another person to execute the trade
for the instructing person&rsquo;s account, or adopted a written plan for trading securities;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">2.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>Demonstrates that the contract, instructions or plan either (1) expressly specified the amount, price, and date, (2) provided a
written formula or algorithm for determining amounts, prices, and dates of purchases or sales, or (3) did not permit the person to exercise
any subsequent influence over how, when or whether to effect purchases or sales; and</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">3.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>Demonstrates that the purchase or sale that occurred was pursuant to the prior contract, instruction or plan and that he or she
did not alter or deviate from the prior contract, instruction, or plan.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">The SEC refers to these exceptions as &ldquo;affirmative
defenses&rdquo; because the burden will be strictly on the insider to prove compliance. The key to complying with Rule 10b5-1 is to adopt
a highly specific, written trading plan that does not leave the insider any subsequent discretion as to the amount or timing of the sales
(a &ldquo;10b5-1 Plan&rdquo;), and then adhere strictly to that 10b5-1 Plan. The defense to liability will be lost if the 10b5-1 Plan
is terminated or altered at a time when the individual is in possession of material nonpublic information. Departing from the 10b5-1 Plan
in any way (including by selling &ldquo;additional&rdquo; shares not originally specified in the 10b5-1 Plan) will be considered an alteration
of the 10b5-1 Plan. If you decide to adopt such a 10b5-1 Plan, you must adhere to the following:</P>

<!-- Field: Page; Sequence: 6; Value: 2 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">1.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT><U>Deliver a copy of the 10b5-1 Plan (signed and dated by you) to the Company&rsquo;s General Counsel for his or her review and
approval at least ten (10) days prior to its adoption and, if you are an officer or director, provide the General Counsel with a description
of all material terms of such 10b5-1 Plan</U>, including (i) the date on which such 10b5-1 Plan is or will be adopted, (ii) the duration
of such 10b5-1 Plan, and (iii) the aggregate number of Company securities that may be purchased or sold under such 10b5-1 Plan.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">2.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>Deliver to the Company&rsquo;s General Counsel a copy of the 10b5-1 Plan signed by your broker, trustee or other party involved
in the 10b5-1 Plan or other acknowledgment of their intent to follow the 10b5-1 Plan.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">3.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>The 10b5-1 Plan must be adopted by you and delivered to the Company&rsquo;s General Counsel during a period that is not a blackout
period and when you do not otherwise possess any material nonpublic information.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">4.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>The 10b5-1 Plan must have a term (start and end date). The 10b5-1 Plan must not commence until after the Company&rsquo;s receipt
of your signed 10b5-1 Plan.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">5.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>The 10b5-1 Plan must have a term of at least six (6) months.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">6.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>For any 10b5-1 Plan adopted by an officer or director, no transactions can be effectuated under the 10b5-1 Plan during a &ldquo;cooling
off&rdquo; period with a duration equal to the later of (i) ninety (90) days after the 10b5-1 Plan is adopted and (ii) two (2) business
days after the Company&rsquo;s financial results for the fiscal quarter in which the 10b5-1 Plan is adopted, provided that the &ldquo;cooling
off&rdquo; period should not exceed one hundred twenty (120) days. For any 10b5-1 Plan adopted by any employee who is not an officer,
the &ldquo;cooling off&rdquo; period must be at least thirty (30) days. A &ldquo;cooling off&rdquo; period of equal duration will also
be required if you make any material modification to any 10b5-1 Plan.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">7.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>Changes to a 10b5-1 Plan must be avoided during the term of such 10b5-1 Plan. Any change must be made only during an open window
period and while you are not otherwise in possession of any material nonpublic information. The following changes to a 10b5-1 Plan are
deemed to constitute a termination of such 10b5-1 Plan and the adoption of a new 10b5-1 Plan (that will, at a minimum, require you to
comply with a new &ldquo;cooling off&rdquo; period before transacting under such 10b5-1 Plan): (i) any change to the amount, price, or
timing of the purchase or sale of Company securities subject to a 10b5-1 Plan, and (ii) any modification to a 10b5-1 Plan that changes
the price or date on which purchases or sales of Company securities are to be executed, including the substitution or removal of the broker
executing trades pursuant to the 10b5-1 Plan.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">8.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>You must enter into the 10b5-1 Plan in good faith, not in an attempt to circumvent the securities laws or this Policy, and must
act in good faith with respect to the 10b5-1 Plan. Each 10b5-1 Plan entered into by any director or officer must contain a representation
by such director or officer certifying, at the time of adoption of the 10b5-1 Plan, that such director or officer (i) is not aware of
any material nonpublic information and (ii) is adopting the 10b5-1 Plan in good faith and not as part of a plan or scheme to evade Rule
10b5-1.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">9.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>You generally cannot have more than one 10b5-1 Plan in effect at a time. If you wish to have multiple 10b5-1 Plans in effect at
the same time (including sequential 10b5-1 Plans that go into effect after the expiration of a prior 10b5-1 Plan) you must provide copies
of the 10b5-1 Plans to the Company&rsquo;s General Counsel at least fifteen (15) days prior to the adoption of any such 10b5-1 Plan for
review and approval and ensure that such 10b5-1 Plans qualify for the limited circumstances under Rule 10b5-1 in which an insider may
maintain multiple 10b5-1 Plans.</P>

<!-- Field: Page; Sequence: 7; Value: 2 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">10.<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT>You generally cannot adopt any 10b5-1 Plan designed to purchase or sell all Company securities subject to the 10b5-1 Plan in a
single transaction (a &ldquo;single-trade plan&rdquo;) if you have adopted another &ldquo;single-trade plan&rdquo; in the prior twelve
(12) month period.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in"><U>Further, all directors and officers who (i)
adopt a 10b5-1 Plan or any other trading plan involving the Company&rsquo;s securities that is not intended to constitute a 10b5-1 Plan
(a &ldquo;Non-10b5-1 Plan&rdquo;) or (ii) modify or terminate a 10b5-1 Plan or Non-10b5-1 Plan must notify the Company&rsquo;s General
Counsel at least ten (10) days prior to such adoption, modification, or termination, and provide the General Counsel with all relevant
information and copies of all relevant documents, including any such Non-10b5-1 Plan and any written modification or termination, and
obtain the approval of the Company&rsquo;s General Counsel before the effective date of any such adoption, modification, or termination</U>.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">Note that the Company&rsquo;s acceptance, or the
General Counsel&rsquo;s approval, of a 10b5-1 Plan does NOT mean that the 10b5-1 Plan meets the requirement of Rule 10b5-1, nor does it
mean you will be insulated from insider trading liability or liability under other securities regulations. You are ultimately responsible
for your own compliance with Rule 10b5-1 and other applicable state and federal securities laws. The Company has no obligation to monitor
your trading activities (whether to ensure you are complying with your 10b5-1 Plans or otherwise). However, the Company reserves the right
to halt a transaction that it determines fails to meet the terms of the 10b5-1 Plan, Rule 10b5-1, or this Policy.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">In addition, any additional charges that the Company
incurs as a result of your adoption of a 10b5-1 Plan or Non-10b5-1 Plan will be borne by you.</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center">Section 16</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">Section 16 of the Securities Exchange Act of 1934,
as amended, requires that any profit realized by a director, officer, or holder of 10% or more of the Company&rsquo;s securities (each
a &ldquo;Section 16 Insider&rdquo;) from a purchase and sale of any equity securities of the Company within a period of less than six
(6) months be disgorged to the Company. To monitor compliance with this rule, Section 16 Insiders must publicly report their beneficial
ownership of equity securities of the Company through regular filings with the SEC on Forms 3, 4, or 5, depending on the circumstances.
<U>All directors and officers are required to immediately report all transactions involving Company equity securities (whether made pursuant
to a 10b5-1 Plan or otherwise) to the Company&rsquo;s General Counsel and Chief Financial Officer</U>.</P>

<!-- Field: Page; Sequence: 8; Value: 2 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">Section 16(a) generally requires each Section
16 Insider to report changes in his or her &ldquo;beneficial ownership&rdquo; of equity securities of the Company (i.e., common stock,
RSUs, and options exercisable for common stock) by (i) electronically filing a Form 4 with the SEC within two (2) business days after
the date of the transaction that effected the change in beneficial ownership and (ii) with respect to certain exempt transactions and
other transactions that were not contemporaneously reported on Form 4, electronically filing a Form 5 with the SEC within forty-five (45)
days after the end of each fiscal year of the Company. Beginning in 2023, the universe of transactions that can be reported on a deferred
basis on Form 5 has been narrowed: for example, gifts of Company securities must be reported on Form 4 within two (2) business days following
the date of such gifts. Directors and officers should consult with the Company&rsquo;s General Counsel if they are engaging in a transaction
involving Company securities that they believe is not required to be immediately disclosed on Form 4.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">For reporting purposes, a Section 16 Insider is
the beneficial owner of any securities in which the Section 16 Insider has a &ldquo;pecuniary interest.&rdquo; Any opportunity to profit
from a transaction in the securities will create a pecuniary interest in those securities. In addition to securities that are owned by
the Section 16 Insider directly or held in &ldquo;street name&rdquo; for the Section 16 Insider&rsquo;s account, a Section 16 Insider
will generally be deemed to have a pecuniary interest in, among others, securities (i) owned by any family member sharing the same address,
(ii) owned by a corporation, partnership, trust or other entity controlled by the Section 16 Insider (generally to the extent of the Section
16 Insider&rsquo;s proportionate economic interest in such entity), or (iii) which may be acquired upon the exercise of stock options
or the conversion of convertible securities owned.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">Though most RSU and restricted stock grants to
directors and officers under the Company&rsquo;s stock incentive plans will be exempt under Section 16(b) pursuant to Rule 16b-3, they
nevertheless generally must be reported on Form 4 within two (2) business days of the grant. Similarly, the exercise of an option must
be reported on a Form 4 within (2) two business days of the date of exercise, and the sale of common stock acquired upon an option exercise
or RSU vesting must be reported on a Form 4 within two (2) business days of the date of sale.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">Section 16(b) of the Exchange Act provides that
any profit realized by a Section 16 Insider of the Company from any purchase and sale, or sale and purchase, of any equity securities
of the Company within any period of less than six (6) months may be recovered in a suit instituted by the Company or by a stockholder
on behalf of the Company. Accordingly, no Section 16 Insider should engage in both a purchase and a sale of Company equity securities
within any six (6) month period. Professional plaintiffs routinely review filings by insiders under Section 16(a) and threaten or institute
litigation to force companies to recover &ldquo;short-swing&rdquo; profits and to pay the plaintiffs&rsquo; legal fees.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">The purchase or sale of any Company securities
that are beneficially owned by a Section 16 Insider for purposes of Section 16(a) (such as stock held in street name or owned by the
spouse or minor child of such director or officer) is generally considered to be a purchase or sale by such director or officer for purposes
of Section 16(b).</P>

<!-- Field: Page; Sequence: 9; Value: 2 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt"></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt">Before buying or selling stock or adopting, modifying, or terminating
a 10b5-1 Plan, please ask yourself these questions:</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt">Does this trade or other action comply with this Policy? Check this Policy,
and where necessary, talk with the Company&rsquo;s General Counsel before trading. Copies of this Policy have been furnished to all employees,
and you can get additional copies from your personnel manager.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt">Do you have &ldquo;hot&rdquo; news about the Company (good or bad) that
could affect the Company&rsquo;s stock price once the information is announced or otherwise becomes public? If so, <U>don&rsquo;t</U>
trade.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt">Has there been an official public announcement about significant Company
developments that could affect the Company&rsquo;s stock price (for good or bad) that has been reported in the major investment media
and digested by the market? If not, <U>don&rsquo;t</U> trade!</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt">Has someone given you a &ldquo;hot tip&rdquo; that you have reason to
believe is inside information? If so, <U>don&rsquo;t</U> use it!</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt">Are you unsure whether important Company news might be inside information?
<U>Don&rsquo;t</U> use it or share it &mdash; you could be setting yourself, your family, your friends, and the Company up for major legal
problems.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt">Does your 10b5-1 Plan comply with all of the requirements of Rule 10b5-1?</FONT></TD></TR></TABLE>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt">Actions that will help keep you on the right track:</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt">Consult this Policy and the Company&rsquo;s General Counsel &mdash; and,
if necessary, your legal counsel &mdash; before trading in the Company&rsquo;s securities or the securities of a supplier, vendor, customer,
or other business associate. Directors and officers are required to notify the General Counsel&rsquo;s office prior to trading or adopting,
modifying, or terminating a 10b5-1 Plan or Non-10b5-1 Plan so that (i) appropriate forms may be filed with the SEC or (ii) required information
can be provided in the Company&rsquo;s SEC&rsquo;s reports.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt">Be aware of how the Company&rsquo;s trading policies and the trading laws
apply to your position, particularly if you are an officer, director, or employee with knowledge of confidential Company information.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt">Keep confidential all &ldquo;inside information.&rdquo; This is defined
as &ldquo;material or important nonpublic information about the Company, which could cause a reasonable investor to trade the stock.&rdquo;</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt">Stop the conversation if anyone tries to give you a &ldquo;hot&rdquo;
inside tip about any company.</FONT></TD></TR></TABLE>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt">How to Avoid Missteps</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt">Buying or selling stock, or adopting, modifying, or terminating any 10b5-1
Plan or Non-10b5-1 Plan with knowledge of insider information should be scrupulously avoided. <U>Don&rsquo;t</U> do it.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt"><U>Don&rsquo;t</U> trade on information about the Company or its competitor
companies that may not be available to the public.</FONT></TD></TR></TABLE>

<!-- Field: Page; Sequence: 10; Value: 2 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->
<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt"><U>Don&rsquo;t</U> trade on information which you suspect in any way might
be inside information.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt"><U>Don&rsquo;t</U> disclose inside information to anyone&mdash;not other
employees who are not required to have such information to perform their employment duties for the Company, not family, not friends, not
stock analysts, not media.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt"><U>Don&rsquo;t</U> recommend a trade, even without stating a reason, based
on inside information.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt"><U>Don&rsquo;t</U> give false or misleading information that others might
think is a tip.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt"><U>Don&rsquo;t</U> try to find clever ways to trade on inside information
or a tip &mdash; the SEC has a large staff and a myriad of sophisticated methods to detect and monitor even the smallest insider trades.</FONT></TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 12pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.3in"><FONT STYLE="font-family: Symbol">&middot;</FONT></TD><TD STYLE="padding-right: 0.05in"><FONT STYLE="font-size: 10pt">Remember that you are also subject to Company disciplinary measures &mdash;
up to and including termination and reporting to the authorities &mdash; if you utilize or reveal insider information to anyone not required
to have access to that information for legitimate business reasons.</FONT></TD></TR></TABLE>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt">Problems and questions to be addressed to the Company&rsquo;s
Legal Department</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">If there is any unresolved question in your mind
as to the applicability or interpretation of this Policy&rsquo;s terms or the propriety of any desired action, the matter must be discussed
with the Company&rsquo;s Legal Department prior to trading, disclosing information, or adopting, modifying, or terminating any 10b5-1
Plan or Non-10b5-1 Plan.</P>


<!-- Field: Page; Sequence: 11; Value: 2 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center"><U>Exhibit A</U></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-align: center">Affirmative Defenses Under Rule 10b5-1</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">The following is the actual text of the affirmative
defenses under 10b5-1:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0in">(c)</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in">(1)(i) Subject to paragraph (c)(1)(ii), a person&rsquo;s
purchase or sale is not on the basis of material nonpublic information if the person making the purchase or sale demonstrates that:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">(A) Before becoming aware of the information,
the person had:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in"><FONT STYLE="font-size: 10pt">(1)<FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>Entered into a binding contract to purchase or sell the security,</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.1in 12pt 0; text-indent: 1in"><FONT STYLE="font-size: 10pt">(2)<FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>Instructed another person to purchase or sell the security for the instructing person&rsquo;s account, or</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in"><FONT STYLE="font-size: 10pt">(3)<FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>Adopted a written plan for trading securities;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in">(B) The contract, instruction, or plan described
in paragraph (c)(1)(i)(A):</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.1in 12pt 0; text-indent: 1in"><FONT STYLE="font-size: 10pt">(1)<FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>Specified the amount of securities to be purchased or sold and the price at which and the date on which the securities were
to be purchased or sold;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.25in 12pt 0; text-indent: 1in"><FONT STYLE="font-size: 10pt">(2)<FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>Included a written formula or algorithm, or computer program, for determining the amount of securities to be purchased or
sold and the price at which and the date on which the securities were to be purchased or sold; or</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 1in"><FONT STYLE="font-size: 10pt">(3)<FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>Did not permit the person to exercise any subsequent influence over how, when, or whether to effect purchases or sales;
provided, in addition, that any other person who, pursuant to the contract, instruction, or plan, did exercise such influence must not
have been aware of the material nonpublic information when doing so; and</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.1in 12pt 0; text-indent: 1in">(C) The purchase or sale that occurred was
pursuant to the contract, instruction, or plan. A purchase or sale is not &ldquo;pursuant to a contract, instruction, or plan&rdquo; if,
among other things, the person who entered into the contract, instruction, or plan altered or deviated from the contract, instruction,
or plan to purchase or sell securities (whether by changing the amount, price, or timing of the purchase or sale), or entered into or
altered a corresponding or hedging transaction or position with respect to those securities.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.05in 12pt 0; text-indent: 0.5in"><FONT STYLE="font-size: 10pt">(ii)<FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;&nbsp;
</FONT></FONT>Paragraph (c)(1)(i) of this section is applicable only when:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.05in 12pt 0; text-indent: 0.5in">(A) the contract, instruction, or plan
to purchase or sell securities was given or entered into in good faith and not as part of a plan or scheme to evade the prohibitions of
this section, and the person who entered into the contract, instruction, or plan has acted in good faith with respect to the contract,
instruction or plan;</P>

<!-- Field: Page; Sequence: 12 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.05in 12pt 0"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.05in 12pt 0; text-indent: 0.5in">(B) If the person who entered into the
contract, instruction, or plan is: (1) a director or officer of the issuer, no purchases or sales occur until expiration of a cooling-off
period consisting of the later of: (i) Ninety days after the adoption of the contract, instruction, or plan or (ii) Two business days
following the disclosure of the issuer&rsquo;s financial results in a Form 10&ndash;Q or Form 10&ndash;K for the completed fiscal quarter
in which the plan was adopted . . . that discloses the issuer&rsquo;s financial results (but, in any event, this required cooling-off
period is subject to a maximum of 120 days after adoption of the contract, instruction, or plan); or (2) not the issuer and not a director
or officer of the issuer, no purchases or sales occur until the expiration of a cooling-off period that is 30 days after the adoption
of the contract, instruction or plan;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.05in 12pt 0; text-indent: 0.5in">(C) If the person who entered into a
plan as described in paragraph (c)(1)(i)(A)(3) of this section is a director or officer of the issuer of the securities, such director
or officer included a representation in the plan certifying that, on the date of adoption of the plan: (1) the individual director or
officer is not aware of any material nonpublic information about the security or issuer; and (2) the individual director or officer is
adopting the plan in good faith and not as part of a plan or scheme to evade the prohibitions of this section;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.05in 12pt 0; text-indent: 0.5in">(D) The person (other than the issuer)
who entered into the contract, instruction, or plan has no outstanding (and does not subsequently enter into any additional) contract,
instruction, or plan that would qualify for the affirmative defense under paragraph (c)(1) of this section for purchases or sales of the
issuer&rsquo;s securities on the open market; except that: (1) for purposes of this paragraph (c)(1)(ii)(D), a series of separate contracts
with different broker-dealers or other agents acting on behalf of the person (other than the issuer) to execute trades thereunder may
be treated as a single &lsquo;&lsquo;plan,&rsquo;&rsquo; provided that the individual constituent contracts with each broker-dealer or
other agent, when taken together as a whole, meet all of the applicable conditions of and remain collectively subject to the provisions
of this rule, including that a modification of any individual contract acts as modification of the whole contract, instruction of plan,
as defined in paragraph (c)(1)(iv) of this section. The substitution of a broker-dealer or other agent acting on behalf of the person
(other than the issuer) for another broker-dealer that is executing trades pursuant to a contract, instruction or plan shall not be a
modification of the contract, instruction, or plan (as defined in paragraph (c)(1)(iv) of this section) as long as the purchase or sales
instructions applicable to the substitute and substituted broker are identical with respect to the prices of securities to be purchased
or sold, dates of the purchases or sales to be executed, and amount of securities to be purchased or sold; and (2) the person (other than
the issuer) may have one later-commencing contract, instruction, or plan for purchases or sales of any securities of the issuer on the
open market under which trading is not authorized to begin until after all trades under the earlier commencing contract, instruction,
or plan are completed or expired without execution; provided, however, that if the first trade under the later commencing contract, instruction,
or plan is scheduled during the Effective Cooling-Off Period, the later commencing contract, instruction, or plan may not rely on this
paragraph (c)(1)(ii)(D)(2). For purposes of this paragraph (c)(1)(ii)(D)(2), &lsquo;&lsquo;Effective Cooling-Off Period&rsquo;&rsquo;
means the cooling off period that would be applicable under paragraph (c)(1)(ii)(B) of this section with respect to the later commencing
contract, instruction, or plan if the date of adoption of the later commencing contract, instruction, or plan were deemed to be the date
of termination of the earlier-commencing contract, instruction, or plan; and (3) a contract, instruction, or plan providing for an eligible
sell-to-cover transaction shall not be considered an outstanding or additional contract, instruction, or plan under paragraph (c)(1)(ii)(D)
of this section, and such eligible sell-to-cover transaction shall not be subject to the limitation under paragraph (c)(1)(ii)(D) of this
section. A contract, instruction, or plan provides for an eligible sell-to-cover transaction where the contract, instruction, or plan
authorizes an agent to sell only such securities as are necessary to satisfy tax withholding obligations arising exclusively from the
vesting of a compensatory award, such as restricted stock or stock appreciation rights, and the insider does not otherwise exercise control
over the timing of such sales; and</P>

<!-- Field: Page; Sequence: 13 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.05in 12pt 0"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.05in 12pt 0; text-indent: 0.5in">(E) With respect to persons (other than
the issuer), if the contract, instruction, or plan does not provide for an eligible sell-to-cover transaction as described in paragraph
(c)(1)(ii)(D)(3) of this section and is designed to effect the open-market purchase or sale of the total amount of securities as a single
transaction, the person who entered into the contract, instruction, or plan has not during the prior 12-month period adopted a contract,
instruction, or plan that: (1) was designed to effect the open market purchase or sale of all of the securities covered by such prior
contract, instruction or plan, in a single transaction; and (2) would otherwise qualify for the affirmative defense under paragraph (c)(1)
of this section.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt; text-indent: 0.5in"><FONT STYLE="font-size: 10pt">(iii)</FONT> This
paragraph (c)(1)(iii) defines certain terms as used in paragraph (c).</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt 0.05in; text-indent: 0.45in"><FONT STYLE="font-size: 10pt">(A)<FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;&nbsp;&nbsp;
</FONT></FONT>&ldquo;Amount&rdquo; means either a specified number of shares or other securities or a specified dollar value of securities.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt 0.05in; text-indent: 0.45in"><FONT STYLE="font-size: 10pt">(B)<FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>&ldquo;Price&rdquo; means the market price on a particular date or a limit price, or a particular dollar price.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 12pt 0.05in; text-indent: 0.45in"><FONT STYLE="font-size: 10pt">(C)<FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>&ldquo;Date&rdquo; means, in the case of a market order, the specific day of the year on which the order is to be executed
(or as soon thereafter as is practicable under ordinary principles of best execution). &ldquo;Date&rdquo; means, in the case of a limit
order, a day of the year on which the limit order is in force.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.1in 12pt 0.05in; text-indent: 0.4in">(2) A person other than a natural
person also may demonstrate that a purchase or sale of securities is not &ldquo;on the basis of material nonpublic information if the
person demonstrates that:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.1in 12pt 0.5in; text-indent: 0.45in"><FONT STYLE="font-size: 10pt">(i)<FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>The individual making the investment decision on behalf of the person to purchase or sell the securities was not aware of
the information; and</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.2in 12pt 0.5in; text-indent: 0.45in"><FONT STYLE="font-size: 10pt">(ii)<FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</FONT></FONT>The person had implemented reasonable policies and procedures, taking into consideration the nature of the person&rsquo;s
business, to ensure that individuals making investment decisions would not violate the laws prohibiting trading on the basis of material
nonpublic information. These policies and procedures may include those that restrict any purchase, sale, and causing any purchase or sale
of any security as to which the person has material nonpublic information, or those that prevent such individuals from becoming aware
of such information.</P>

<!-- Field: Page; Sequence: 14 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.2in 12pt 0.5in"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0.05in 12pt 0; text-indent: 0.5in">(iv) Any modification or change to the
amount, price, or timing of the purchase or sale of the securities underlying a contract, instruction, or written plan as described in
paragraph (c)(1)(i)(A) of this section is a termination of such contract, instruction, or written plan, and the adoption of a new contract,
instruction, or written plan. A plan modification, such as the substitution or removal of a broker that is executing trades pursuant to
a Rule 10b5&ndash;1 arrangement on behalf of the person, that changes the price or date on which purchases or sales are to be executed,
is a termination of such plan and the adoption of a new plan.</P>

<P STYLE="font: 10pt/9.65pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.05in; text-align: center">****</P>

<P STYLE="font: 10pt/9.65pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.05in; text-align: center">&nbsp;</P>

<!-- Field: Page; Sequence: 15 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt/9.65pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.05in; text-align: center"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>3
<FILENAME>ex23-1.htm
<DESCRIPTION>EX-23.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right">Exhibit 23.1</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Consent of Independent Registered Public Accounting
Firm </P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We consent to the incorporation by reference in the Registration Statement
(No. 333-272443) on Form S-8 of Sturm, Ruger &amp; Company, Inc. of our reports dated February 19, 2025, relating to the consolidated financial
statements, the financial statement schedule and the effectiveness of internal control over financial reporting of Sturm, Ruger &amp;
Company, Inc, appearing in this Annual Report on Form 10-K of Sturm, Ruger &amp; Company, Inc. for the year ended December 31, 2024.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">/s/ RSM US LLP</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">Stamford, Connecticut</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">February 19, 2025</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

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

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 91 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->93<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>4
<FILENAME>ex31-1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right">EXHIBIT 31.1</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">I, Christopher J. Killoy, certify that:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0%"></TD><TD STYLE="width: 0.5in">1.</TD><TD STYLE="text-align: justify">I have reviewed this Annual Report on Form 10-K (the &ldquo;Report&rdquo;) of Sturm, Ruger &amp; Company,
Inc. (the &ldquo;Registrant&rdquo;);</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0%"></TD><TD STYLE="width: 0.5in">2.</TD><TD STYLE="text-align: justify">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;</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
  <TD STYLE="text-align: justify; width: 0.5in">3.</TD>
  <TD STYLE="text-align: justify">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;</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
  <TD STYLE="text-align: justify; width: 0.5in">4.</TD>
  <TD STYLE="text-align: justify">The Registrant&rsquo;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures
(as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act
Rules 13a-15(f) and 15d-15(f)) for the Registrant and have:</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in">a)</TD>
  <TD STYLE="text-align: justify">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision,
to ensure that material information relating to the Registrant, including its consolidated subsidiaries, is made known to us by others
within those entities, particularly during the period in which this Report is being prepared;</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 1in; text-align: justify; text-indent: -22.3pt">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in">b)</TD>
  <TD STYLE="text-align: justify">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;</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in">c)</TD>
  <TD STYLE="text-align: justify">Evaluated the effectiveness of the Registrant&rsquo;s disclosure controls and procedures and presented in this Report our conclusions
about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this Report based on such evaluation;
and</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in">d)</TD>
  <TD STYLE="text-align: justify">Disclosed in this Report any change in the Registrant&rsquo;s internal control over financial reporting that occurred during the Registrant&rsquo;s
most recent fiscal quarter (the Registrant&rsquo;s fourth fiscal quarter in the case of an annual report) that has materially affected,
or is reasonably likely to materially affect, the Registrant&rsquo;s internal control over financial reporting.</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 1in; text-align: justify; text-indent: -22.3pt">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 92 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->94<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 1in; text-align: justify"></P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
  <TD STYLE="text-align: justify; width: 0.5in">5.</TD>
  <TD STYLE="text-align: justify">The Registrant&rsquo;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial
reporting, to the Registrant&rsquo;s auditors and the audit committee of Registrant&rsquo;s board of directors (or persons performing
the equivalent functions):</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in">a)</TD>
  <TD STYLE="text-align: justify">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are
reasonably likely to adversely affect the Registrant&rsquo;s ability to record, process, summarize and report financial information;
and</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in">b)</TD>
  <TD STYLE="text-align: justify">Any fraud, whether or not material, that involves management or other employees who have a significant role in the Registrant&rsquo;s
internal control over financial reporting.</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">Date: February 19, 2025</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 10pt 0 0"><FONT STYLE="font-weight: normal"><U>S/CHRISTOPHER J. KILLOY </U></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">Christopher J. Killoy</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">Chief Executive Officer</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<!-- Field: Page; Sequence: 2; Value: 92 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->95<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>5
<FILENAME>ex31-2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right">EXHIBIT 31.2</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">I, Thomas A. Dineen, certify that:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
  <TD STYLE="text-align: justify; width: 0.5in">1.</TD>
  <TD STYLE="text-align: justify">I have reviewed this Annual Report on Form 10-K (the &ldquo;Report&rdquo;) of Sturm, Ruger &amp; Company, Inc. (the &ldquo;Registrant&rdquo;);</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
  <TD STYLE="text-align: justify; width: 0.5in">2.</TD>
  <TD STYLE="text-align: justify">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;</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
  <TD STYLE="text-align: justify; width: 0.5in">3.</TD>
  <TD STYLE="text-align: justify">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;</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
  <TD STYLE="text-align: justify; width: 0.5in">4.</TD>
  <TD STYLE="text-align: justify">The Registrant&rsquo;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures
(as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act
Rules 13a-15(f) and 15d-15(f)) for the Registrant and have:</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in">a)</TD>
  <TD STYLE="text-align: justify">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision,
to ensure that material information relating to the Registrant, including its consolidated subsidiaries, is made known to us by others
within those entities, particularly during the period in which this Report is being prepared;</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 1in; text-align: justify; text-indent: -22.3pt">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in">b)</TD>
  <TD STYLE="text-align: justify">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;</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in">c)</TD>
  <TD STYLE="text-align: justify">Evaluated the effectiveness of the Registrant&rsquo;s disclosure controls and procedures and presented in this Report our conclusions
about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this Report based on such evaluation;
and</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in">d)</TD>
  <TD STYLE="text-align: justify">Disclosed in this Report any change in the Registrant&rsquo;s internal control over financial reporting that occurred during the Registrant&rsquo;s
most recent fiscal quarter (the Registrant&rsquo;s fourth fiscal quarter in the case of an annual report) that has materially affected,
or is reasonably likely to materially affect, the Registrant&rsquo;s internal control over financial reporting.</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 1in; text-align: justify; text-indent: -22.3pt">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 94 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->96<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 1in; text-align: justify"></P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
  <TD STYLE="text-align: justify; width: 0.5in">5.</TD>
  <TD STYLE="text-align: justify">The Registrant&rsquo;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial
reporting, to the Registrant&rsquo;s auditors and the audit committee of Registrant&rsquo;s board of directors (or persons performing
the equivalent functions):</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in">a)</TD>
  <TD STYLE="text-align: justify">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are
reasonably likely to adversely affect the Registrant&rsquo;s ability to record, process, summarize and report financial information;
and</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.5in">&nbsp;</TD>
  <TD STYLE="text-align: justify; width: 0.5in">b)</TD>
  <TD STYLE="text-align: justify">Any fraud, whether or not material, that involves management or other employees who have a significant role in the Registrant&rsquo;s
internal control over financial reporting.</TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">Date: February 19, 2025</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><U>S/THOMAS A. DINEEN </U></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">Thomas A. Dineen</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">Senior Vice President, Treasurer and</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">Chief Financial Officer</P>

<P STYLE="margin: 0">&nbsp;</P>

<!-- Field: Page; Sequence: 2; Value: 94 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->97<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>6
<FILENAME>ex32-1.htm
<DESCRIPTION>CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right">EXHIBIT 32.1</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">Certification Pursuant to 18 U.S.C. Section 1350,</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">As Adopted Pursuant to</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">Section 906 of the Sarbanes-Oxley Act of 2002</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In connection with the Annual Report on Form 10-K
of Sturm, Ruger &amp; Company, Inc. (the &ldquo;Company&rdquo;) for the period ended December 31, 2024, as filed with the Securities and
Exchange Commission on the date hereof (the &ldquo;Report&rdquo;), I, Christopher J. Killoy, Chief Executive Officer of the Company, hereby
certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to the best of
my knowledge:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in">(1)</TD><TD STYLE="text-align: justify">The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act
of 1934; and</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in">(2)</TD><TD STYLE="text-align: justify">The information contained in the Report fairly presents, in all material respect, the financial condition
and results of operations of the Company.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 64%"><FONT STYLE="font-family: Times New Roman, Times, Serif">Date:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;February 19, 2025</FONT></TD>
    <TD STYLE="border-bottom: Black 1pt solid; width: 36%">S/CHRISTOPHER J. KILLOY</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif">Christopher J. Killoy</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif">Chief Executive Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">A signed original of this statement has been provided
to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="margin: 0">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 96 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->98<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>7
<FILENAME>ex32-2.htm
<DESCRIPTION>EX-32.2
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: italic 10pt Times New Roman, Times, Serif; margin: 10pt 0 0; text-align: right"><FONT STYLE="font-style: normal; font-weight: normal">EXHIBIT
32.2</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">Certification Pursuant to 18 U.S.C. Section 1350,</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">As Adopted Pursuant to</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">Section 906 of the Sarbanes-Oxley Act of 2002</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">In connection with the Annual Report on Form 10-K
of Sturm, Ruger &amp; Company, Inc. (the &ldquo;Company&rdquo;) for the period ended December 31, 2024, as filed with the Securities and
Exchange Commission on the date hereof (the &ldquo;Report&rdquo;), I, Thomas A. Dineen, Senior Vice President, Treasurer and Chief Financial
Officer of the Company, hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act
of 2002, that, to the best of my knowledge:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in">(1)</TD><TD STYLE="text-align: justify">The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act
of 1934; and</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.5in">(2)</TD><TD STYLE="text-align: justify">The information contained in the Report fairly presents, in all material respect, the financial condition
and results of operations of the Company.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 64%; padding-right: 0.8in"><FONT STYLE="font-family: Times New Roman, Times, Serif">Date:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;February 19, 2025</FONT></TD>
    <TD STYLE="border-bottom: Black 1pt solid; width: 36%; padding-right: 0.8in"><FONT STYLE="font-family: Times New Roman, Times, Serif">S/THOMAS A. DINEEN</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif">Thomas A. Dineen</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: -9pt">&nbsp;</TD>
    <TD STYLE="padding-right: -9pt"><FONT STYLE="font-family: Times New Roman, Times, Serif">Senior Vice President, Treasurer and</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="padding-right: -9pt">&nbsp;</TD>
    <TD STYLE="padding-right: -9pt"><FONT STYLE="font-family: Times New Roman, Times, Serif">Chief Financial Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify">A signed original of this statement has been provided
to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 97 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 2pt solid"><P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->99<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

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

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>8
<FILENAME>image_001.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 image_001.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  @&!@<&!0@'!P<)"0@*#!0-# L+
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I+# Q-#0T'R<Y/3@R/"XS-#+_
MVP!# 0@)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
M,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C+_P  1" &P H # 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110!F>(/\ D#2_[\?_ *&M:=9G
MB#_D#2_[\?\ Z&M:= !1110 4444 ,EECAC,DLBQH.K.< ?C4?VRUW1K]IAS
M(,H-X^?Z>M1ZCIEAK%DUGJ5G!=VSD%HIXPZD@Y'!J@OA'PXLUE,NA:<);$ 6
MKBV3,(#%AM..,,2>.Y)H A\3>+M/\-:-+J#G[6ZR+$MO;L"[N<\#W #'GLIK
M5M]4L+N"VG@NX7CND62 AQ^\4\@@=ZXG6OAC9W.N1WVEV'AZ&W\EEDM;K3/,
M220MGS#L=<D 8&<XRWK6AX9^'^GZ3:6XU.STN]N[.=Y+*:.S"?94+F140L6;
M"NS$<\9]J .J^W6FV1OM4&V,X<^8/E^OI7,^._%=SX6T^QGMH[<+<W B>[N0
MYAMQ@G<VSGGH*T!X*\+K#<Q+X>TL1W1!G46J8D(.1GCG!YINO^'[O4+:Q71]
M3.EO9M\B"+?!(FW;L>/(!&.GI28T<U>_$&^L/A]_;\R:6TOVM;?SH)_-@*%L
M>8 #N/'\'6I+OQWJEOX$TC6_L5HEYJ%W';A9W9(@KL0LAZE00 V#R :@3X6O
M#80&+583J$=_+?,SV0-NS2+L*^3N  QTYJ#3_A EEI/]FRZLES;-J,%\Z26@
MP?+X:/&[[I&  >@]:??Y?I?]1=OG^MOT.C\&^*[KQ#<ZM8WL%HMSILJ1M-93
M&6&3<N1M8@<CN*YVS^);WVHZQ'=Q::--LUNCY+/)Y\Z19!(!780<<X/ [5Z'
M8:;8Z7;_ &?3[.WM(<Y\N",(N?7 KD+GX?W.K7^_6]<>]LX4N4MHQ;A)$$RE
M3N<'YL X' I._3M^(UY]S,B^)=[::;<I>Z/;Q7P@M9K*"&<E'6X;:@8E1M*G
MK@'VKK/"?B"XUVVOH[VVCM[[3[M[2X2)RZ%E .5) ."".HKFH_A?+)I]U'?:
MV9[YHK:&UN4M@@@6!MT>5W'<<]>1GVKI_"WAU_#]K>?:+P7E[?73W5S,(_+5
MG; P%R<  #O5Z7?]?UYD:Z?U_7D:U]86FIV<EG?6T5Q;2##Q2J&5OP-0Z5HV
MFZ);-;:9906D+-N98D"[CZGU-7J*DH**** "BBB@ HHHH JQ:=9PZC<7\<"+
M=W"JDLHZN%SM!^F35JBB@!KHLL;1NH9&!# ]P:I6.B:7IFG'3[.PMX;,DDPJ
M@VDGJ2.]7Z* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@#,\0?\ (&E_WX__ $-:TZS/$'_(&E_WX_\
MT-:TZ "BBB@ HHHH HZOJ7]DZ<]X;*\O-A \FSB\R1LG'"USG_"P1_T*/BS_
M ,%A_P#BJ[&B@#@/%WBC4K;Q#::39+JT,368NY7TVQ2XN&RQ4+M<%548^8X)
MRRCBF>$/B#=ZD/L%_HFMS7$=XUHUZNG[(^",-+@XC89^8#@8)]AUVL>'])UX
M0KJ5HLS0DM$X=D=,\'#*0P![C/.*M:=I]EI5C%9:?;QV]M$,)'&, =S^)/)/
M4DT 9>N>*!H=W';G0];O]\>_S+"S,J+R1@G(P>.GN*YOXC:O?P1>&EL9-5MU
MOKLK-%8A1<,OEEMH#<9!'0^E>A5SWBBZ\-Z?)IFH>(;B* VUP7M))'88DVD'
M@=>">M)]/4:ZG%>%/&6IP:;'<SR7%]87NM1Z?:&^=!<PJ00_F;!C(8=#S6CJ
M/Q)N[6RN+B'2%9(=4GL'F=W,<:Q@8=MB,1NSCI@>M:UIX>\&^)[2\OK 1W,%
M[<K<2R6URZ@3IT8;6&QO7&">]6?^$!\.+9K;1V<L2+.]PKQ74J2"1QACO#;N
M0.1G%-WM_7E_P?O$K?U\SG=4^)\UC%I=PFG6WV2[MEG:Z>X?R=Q;!C618R,C
M&<MMJPWQ'GD\4R:=9Z/)<V,%U':2SQ"1F#, 2XVH4VC(SE@>];,_P^\,W$$$
M!T]DBAA\@)%<2('CSG:X5AO&3GYLTR]\.^$[;Q'8W-S L6H7,H-O&)75)9(U
MX.P':65>Y%/2_P Q:V^1ROACQ!JUWXCT&"XOYI(I[K54E5CPPC?" _3M6CXU
MN=8MO$-I%I.O3_VA</$+/2X(EV! W[V28D$E<=^,=LUU-GX4T2PN[:ZMK/9-
M;/-)$WFN=K3',AY/.3Z].U5-2\!>'=7UI]8O+.9K]E53*EW,G"]!A6 Q^%*.
MG+?IO^'^0W]KS_X)Q">*]<B\0C4FU"62"36KK3#IQ5?+6..,E6'&[=E<DY[U
MDIXU\1Z9HCWS:I+=RZAH1U$"1%VVLIE"?)@#Y0&Z'/(KU6+P=H,.O-K:6(%\
MS,Y<R,5W,-I8)G:&(X)QFJD7@OPKHUGJ4O\ 9\<=M<0,ESYDCNHBY8J 2=J]
M3A<4MEKV_K_AQ[R_K^O\RGX(OM0_MC7]%O=0FU"/3W@,-Q,%WD21ABI*@ X/
M3ZUVE<SH,?A?P]:V<6ER)&FKMYL#/(\C7!"9SN8DG"@=3TJ?3?&OAW5M3_LZ
MQU2*:Z.[:@# /MZ[6(PV/8FJ>KL2M%J;]%8FL^+M \/7,=MJVIP6DTB;T20G
M)7.,UI6&H6>J6,5[87,5Q;2C*2Q,&5OQI#+-%%% !1156XU*RM)&CGN8DD6%
MIRA;YO+7JV.N!0!:HJ&UNH+VTANK:0203('C<=&4C(-34 %%(6"@DG  R:SU
MU[2WT(ZVMY'_ &:$,AN/X=H."?TH T:*QM%\5Z#XAEDBTG5+>[DC&YTC;Y@/
M7'7%;- !15>^OK;3+&:]O)EAMH5+R2-T4#O4T<BRQK(C HP#*1W!H =102!U
M-0VMW;WMNMQ:SQS0OG;)&P93@XX(]Q0!-15#5]:T[0;+[9JEVEM;[@GF/TR>
M@K)B^('A2>QGO8M;MGMX"HD=<G!8X4 8R2<'@4 =+17.CQWX9_LG^U#J\*V8
MF^SF1@5VR==I!&0?J*T!K^E-K@T47L1U(Q><+<'YMGK0!I4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 9GB#_ ) TO^_'_P"AK6G69X@_Y TO^_'_
M .AK6G0 4444 %%%% %+5EU-]/<:/-:17N1L:[B:2/&><A64]/>N=^S_ !&_
MZ"?AC_P!G_\ CM=?10!XG\0]%\?ZB]ND:Z?<7BQ$M/IME-'B'</D=F=@^6VD
M+@D;2W Z[_A"P\?6V@K##)HEG(LKBX2]L;@RO-GYW9_-Q)N/.X<$8QCH/3:*
M .0^S_$7_H)^&/\ P!G_ /CM4O'0O+>]\(W[V-U?"SOC)=?8;9Y,?NF!(49(
M&3WKO**.J?8.C1XU<66MRR:MK-OIVJV6C:CJUN]Q:P(T=TUNL95W"+\PW-C.
M.<"FSP>+[;PY]OTN/5W1;^XMK*VG,AF%K*FU7<'YOD?D%N0*]GHHMI;^OZ_S
M87Z_U_7^1YW\.K'Q%%J=_P#VZ]X8]-C&G6S3EL7(#LQFYZY!09]C5?5;S6/$
M7C/1X[?0[ZSGTF>[9YIXSY)!C*QLKXPVXD<"O3**'KO_ %Y_B"TO8\7T:'Q$
M GV>+Q EY_9=T-8-X9"CW&W]WY6[@MNZ;.V*;+I?BVPTU?[*;66NKKPXLEP9
MI)7(N0Z;@-Q^639NP!@U[510QK0\3^QZ[_PC%V(;K71:_;H62-[*Y P$.\$&
M4SF,G&2.XX!%=OX<@U34OAA-:7EK/!>2V\\*)<2.S,#N"GY_F .1@-R!7:T4
M2U37<2T:?8\AT==0U2X\$6 T/4H9-#@D%Z;JW:*,$0^6%#GALGTSQ5?PG:ZE
M9^)M%MM/T_68K2*63[58ZI;!XK%<'F&<J.^, =0:]FHIW][F%;2QYOXKT7Q!
MJ/Q&CGT.[ET^1-%D5+O[.LD9?S 1&Q8$#/7UXKD'L-9@\/Z';06>M6-E%%<B
M[C2":23[86SNQ$4)!R2I^[ZU[O14I:6_KK_G^3*;N[_UM_7XH\AN8M935H?[
M<C\2W3"QM!I\FGAH_P!Z/]:9 I**V<9WDC&:9>Z1XD_L+Q'J,#ZQ]N;5WB5#
M)*2+/S%)\M 1GC/*\D9 ->PT4W_7WW_X E_7W6/%WBUH>'K:U:/6[BSFU"4Q
MR-#<QF% GR@HKF9D+9V[F7!Z\56TS3-:%UI>HZC::TVH/X=N;<2E9LK<*S!0
M_H2O3/4X/)Q7N-%)ZW_KI8:=OZ\T_P!#Q"[@\2_8U%W#XB;4/[*M!I!M3*$2
MXV_O/-QP&W==_:M#6],\22S^(]0!U@WMK<6#6*V\DHC)P@E*(.&'WL\''->O
MT55];_UN3;2QX\#K\OQ$AN8[/6(8O[1FAN%<3NC0[&"MG_5["<$!1QW-:4&E
MZ@O[/LVFM8W(OC82I]F,3>9N+-@;<9S7I]%3;W>4I/WN8\GU?P;KEMX:O]<?
M4[F]UH:4MI:16=KY+Q*65B,*2S-Q_.H_$FDW^F7B6I'B.XT\:8QLFLIII'%Z
M6))D(.?3&[Y1S7KE%-ZM_P!=_P#._J*.B2[?\#_*WH>'>)K#Q)=V&IV^MVNM
MW=_+I%NMB+$2-#YNW]\'"?+DMUW=1TK0U"7Q%;/JNG16FM-+-?:?+;/#%(42
M$",2 ,.%&0<C]*]AHIIZW$U=6/*[>UOI_%=_#JEOXC>_EOYEBEMY)%M!:%,+
MDYV8^GS9KE(M-UBQ\%:)!:V^NPRVZW"SVKPW6QIMPQ@QL'4XQM."G)]Z]_HJ
M4K*W]:%7UN9=@;FX\+V[7=O)%=/:+YD,C;V5]G()[G-><Q:3.GP;T"VO-'U-
MY8)4>06>8[JU(=L2JN"6(STQT->M44WJV^]OP=Q+1)=O\K'A5SH>M^(M$>PN
M;.]N;*76X/*N[FQ\FXDC\M@SRJ #A20 Q%7/A_HVO'QKIFNZUIUU#<S6]Q!,
M\D3 (L:11IDD<;MK$>N:]IHIIV=_ZVL)JZM_6]PHHHI#"BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@"&ZNH+&TENKJ58H(4+R2.<!5'4FN?3X@>&'TQ-0&J)Y#R&(#RV+
M[@,D; -W YZ=*T_$-HU_X=U"T2T2\::!D%N\GEB3(^[N[?6O++#3?'%OX16P
M@T>YD2><HK32P?:;2W*X<*6(!+'(!)) R3VI:ZC['IA\7:#_ &C:6 U.$W%V
MBO JY(8,"5Y' S@X!/-2:;XET?6+^YL;"^CGN+;/F(H/&#M)!(PP!&,C/->>
MMX-U==6A@M-)>WT^XETZ<2/.A-HMN"&C;!R3P,%<CDUH>"/#&LZ7KUJU_9^1
M!IMG/:K-YBL+DR3^8& !R  .^.35:7_K^O\ ,E[':^(/^0-+_OQ_^AK6G6-X
MCMR^G&83S*$>/]VI&UOG7KQ6S2&%%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !117G^@_$--8\=WVF++;OIAD-M:/'RPF
M0$G>>GSXD*^T6?XAD ] HHHH **** "BBB@ HHHH S/$'_(&E_WX_P#T-:TZ
MS/$'_(&E_P!^/_T-:TZ "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH ***S]9UO3O#^FOJ&J726]LI"[F!)9CT50.6)]!S0!H5E:CXCT
MO2]3LM,N;G_3[U@L%M&C.[#.-Q"@[5'=C@#!YK/,NO:[=/%%&NF:%-:@K=;B
MMZS.@(*J1B(J3@[@3D=!6IHVAV6A6,=K:+(P0',L\ADD<DY8L[<G)R?2@#G+
MS0_$'C'0[FVUNZ?05E<^3!IMQN?9M(Q,^,-R<X7 [$FJB?#O4H])M-+C\3+%
M:6DD4L*Q:9$C*\9!5@P.<_* 3W&<YS77:]-?6VB7<^GM MQ'&SAIE+*  2>
M1D\>HKE]0\1Z@+31F>_33H[O33<M=&$,KS80B/G@9W$XZG'%*]OZ]?\ (=OZ
M_KU.YHKAKC7M>GT'1M5L;NRCDU,6ZQ6<EJS$NX!;YMXX W-TZ"MO7+V]_M;2
M](LK@6KW@EDDN-@<JL8'"@\9)8=>V:IJVGR)N;U%<'=:[K+^"3K$>HQ6]Y;-
M+!Y2VX874Z2&-5&3D!BO0<\]:[F%G:"-I5"R%064=CCD4OZ_48^BBB@ HHHH
M S/$'_(&E_WX_P#T-:TZS/$'_(&E_P!^/_T-:TZ "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBL^_UW1]+;;J&J
MV-HW7%Q<)&?U(H T**XG6OB?X<TO[//;ZSI%[;"3;=+!?QM-&AZ.B _/@]0.
M<=,]*G\$>-)/&MNM[;V<<-DL">9(9<L9R 655QG8O(W'&3T& 30!ULDB1(7D
M=44=68X%->>&-MKRHI]&8"N2^)C::GA"X?4)8$D4@VXFD"Y?(Z GD@9^E1>*
M[+2/$1TNSAM;*[GU1Q_I8C5V6V3YG97_ "4>[T+7[[ ]#KI+ZTBNH[62ZA2X
MDY2)I &;Z#J:+J^M+$(;NZA@#G:IED"[CZ#->>6M_/IOBR^CWZ?+=3:ND/V-
MX";@P%5"NK;N%5>?NXX/.:UO&NHZ;?>&Y&AU+2(VG@F2-[Q03(O1EC.1ALCT
M/..#2;]WF&E[UCK9+^SAN8[:2ZA2>7_5Q-( S?0=35BO,]3U+0[[^PM'F:TT
MZ\:.TN[B6\D1)840AD0$X+.2,<=!D^E>F535OO9*=[>@4444AA1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
MV21(8GEE=4C12S,QP% ZDFN?N_%*37U_I&A0?VAJ]I'N=&#)!&^1A7EP0&P<
M[1DX!Z4EOX:DO;S3M6\07)N=3M(_EAMI'2TCDR?G6,G);!VY8GIT% %<>)-0
M\16D$W@^&VEMFG:.6_OTD2)54 [HTP#*#D@$$#*GFM+3/#5EINHWNH>==7=Y
M=ON>6[F,FQ0251!]U57)P /Q-;  4    < "EH **** *>JV!U/3IK,7<]J)
M5*M) $+;3P1\RL.?I68OAF1-'MM+37-26WAC\HD"$-(F  "?+XP!C(P?QK?H
MH RUT&T34-.N4W+'I\#0VT ^XF0!N]<[1CZ$U!?>'1>RQW']IWL-U#,\L$Z%
M"T0<89 "I!7'J"?>MNB@#F)?!-N1IHMM4U"T_L\.8O+\IPSL<M(P=&!<Y//'
M4UTD2-'$B-(TC*H!=L98^IP /R%/HH **** "BBB@#,\0?\ (&E_WX__ $-:
MTZS/$'_(&E_WX_\ T-:TZ "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHKE=:\9+;ZBVBZ#9MK&N ?-!$V(K;_:FDZ(/;[Q].:
M.CO+RUT^TDN[VXBM[>,9>69PBJ/<G@5R/_"9:IX@.SP=HQNH#Q_:NH[H+7ZH
M,;Y>XX 'O4EGX':_NX]3\87@UF^0[HK;;ML[8_[$1^\?]I\GITKL0 !@# %
M'&#P1?ZK\_B?Q-J-\#]ZTLF^QVV/[I"'>P]RU:5AX#\)Z:N+7P[IJG.=[VZR
M.?JS9)_.NAHH YS7/!NGZU%;VABM[>P$FZYBAMU5YU'1-XY5<]<<D<9'-<SI
M7P8T#3'C.]V*VR(98=T$RSJ #*DB,"H.,E#D9Y&.<]MJ_B'1]!\G^UM2MK+S
MMWE>?(%WXQG'KC(_,5%I?BO0-;NS:Z9J]G=W 0R&.*4,VT$ G'IR/SH P'L_
M&'A;Y[.Y/B?2UY-K=E4O8U_V)!A9/HP!/3-;WA_Q)I/B6%YK"0B> ^7/;3)Y
M<]NW=70\J>/H<<9K9KF_$7A"#6+B/4[&X?3-=@&(-0@ W8_N2+TD3_9/X8H
MZ/:N[=@;O7%(44@ J#CIQ7,>'O%4]QJ+:!X@MDL-?C4L$4DPW:#_ ):0L>H]
M5/*]ZZF@!"JDY('Y4M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !16;K.N6.A6,EU>/(0@&(H8S)(Y)PH5%R22
M>*S OB#7+I)&9=+T.:U.Z$AA?%G0CD@[8BI.1@L<CM0!=U;Q)8:1?V5A*+B>
M]O7VPV]M"TCD9 9SCA5&<DDBLQ]"U7Q-9W-OXJDB@LWG5HK+39Y%S&-P*S2<
M%PV02 %'RCK6UHFAZ=X>TU;#3(/)@#%SEBS.QZLS'))/J:T: (X88K:".&%
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
MM ADDD<X"J.I-<_'XDU+65L)_#FE"XL+ASYM[?.UNJ(&P2J%=[;AG:< =.:
M-YM.LG8LUI 29A.28QS(!@/_ +P '/7BL>=_".F:T;6;^R(-4U %&A(033AN
MH*]2#C\:B_X1*748;V#Q%K-UJMO<N"MN@^S11*I)"CRR&/7G+'.!Q6I;Z9HV
MA6J2PVMI9PVL(C$NT+LC'8L><?C0!QMYXTT;2/"EW-X3TBZ::686UI'#IKPK
M+<.K%2 RKO VDG&>GO4GA'Q=?Q31^&]6TW6KG4+=59KUK9<&%P6C:7#95L J
M>#\RGDUI^(H_#>LVNDZO>ZY)9PQLS65U;WGD[BZX.#W^4'\"?6JUI;^&O#6K
MQ:O-KM]<7%S:B%)KNZ:9/*9@02<8 W=">.3ZT :$?CW0UL'O-0:[TJ))E@;^
MTK22WP[ D#YACHIYSCUZBNB@N(+J%)K>:.:)U#H\;!E92,@@CJ".<U!J-]9V
M%F9;U@(6.S&PONSV"@$FN6O8_!7VBW\1+)';WEQ;O'!>V999-@783M7@A <9
M8$+@=,4 =I17)Q_\)/HNEVILY4\4QM*69Y9$MIQ"0NS:0-CD?,23MSD5KZ=X
MDTK5-4O=,M;K-_9,5GMY$9'4 XW ,!N4]F&1R.: ,SQUX)L/&^B?9+A42\A)
MDM+EDW&)_?U4X ([_4"N0\*Q^(HH+BVT753!J6G,([[0-89IHD/9H9O]8L;#
ME<[A^5>KURWBOP]=W4]OK^@LD7B"P4B+<<)=1=6@D_V3V/\ ">>* (+;X@6M
MK<1V7BBPN/#UXYVJUT0UM(?]B<?*?QVGVKKD=9$5T8,C#*LIR"/45C:)K&F^
M,= ,QMPT;$PW=E<H"T,B_>CD4]P?7V-8S^!)='=I_!VK3:.V=QL9 9[*0_\
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
M#45,#6-[/J@N)-5=VQL=$9EPW V]L\8VUZEK5[=:=I%S=V=JMS-$A8(\FQ<
M9))P>/H*XJ]&@Z#HEMXGT_PW8'6;FV^U11J@4)\F^1QQ\N!G) R20.]%QV/1
M**YG6M<U33([&^B@LY+*>6"(Q%F\YS(P4[>W&<XYR >E6=>UBZL;W3K"S^S)
M/>F3$UR3Y:!%R1@8R3]?4]J'H)._YF[17$7GC2Z3PG:ZW =-B9T?-M/*2T\B
M-M,<6.N2#@\]1Q7:QL7B1V4J64$J>WM0 ZBBB@ HHHH S/$'_(&E_P!^/_T-
M:TZS/$'_ "!I?]^/_P!#6M.@ HHHH **** "BBL/Q'XJL?#D422K)=:A<G;:
M6%L-TUPW^R.P]6/ H T]0U"STJPFOK^YBMK6%=TDLK;545QGG:YX_P"+9KG0
M_##?\M\;+R^7_8'_ "RC/J?F(] :L:?X5OM<OXM9\9-%--&V^TTF,[K:S/8M
M_P ]9/\ :/ YP.AKM* *6E:1I^AZ=%I^F6D5K:Q#Y8XQ@?4]R3W)Y-7:*Q]>
M\4Z-X;B1M3O4CEDXAMT!>:8^B(N6;\!0!L5BZ]XKT?PVL:ZA=?Z3+Q!:0J9)
MYCV"1KR?3/3WK#\_QCXKXMXCX7TIO^6LZK)?2K[)RL7X[F'I6UH/A'1_#K23
M6=NTE[+_ *Z^N7,MQ,>Y:1N?P&![4 <%XMLO'?C_ $Y]/CT:#1]'DB>8"Y9)
M+J1E&44C.(F8X_W><MV/2_#KPU+X4TJ72IM*MH'CVM]NA()NP03\_);>IX/\
M/(*]<#M** .6U>-HO'7AZ87,^)C.C1>:?+P(B?N],Y[GFLF^?^Q?'-K>K9.L
M$T5SM:TF::2\<+OVNG;&UL8W<X'%===:#H]]>I>W>E64]VF-D\L"LZXZ88C/
M%+!HVDV%Y+J$&GV=O<N"9+A(E5CGDY;'YT+I\_Q!_P"1QW@O57E\3ZR;Z:]$
MTUM;W$BW-O+%'$Q,@*KO4  #:!ZX)YYH\5W6D:-XFL;BXU"YLUC;[;>2?:Y2
MI7[J1K&&()=OX0.B&F>(_'.AM8/<:4VB7<<\WV:ZO+^0)"!'@\#&Z?[QP$R
M>XJ?P@=/U#Q%J.HVVGZY=B\_>'5-3C\N$A6_=QPHV#M )P0OU/-';R_X(=_,
MQM"M=9N-:32-1>>UM-2T^2474-],]S)\R-G#D"# ?;C:3D$<5Z%;6^E>%?#Y
MAMH_L^G6$;,4C#2%1RS' RS'DGN3FN87X<M+J-W-/J[V=E,YVV>C6ZV64SPL
MDBY=^.N"HSGBNIT30=+\.6)LM)LTM;<N9&52268X!9B223P.2>U'1!U;.>_X
M2SQ#J_'A[PE="-N!=ZQ(+2,>XCYD8?@*VM2TB]UK2+6VN-5N].N!M:YDTN0)
MO;;\RJS*2%R<\8/%;-% '+Z?\//#%A>1WS:>;V_C8,+N_F>YDW#G=ER<'/<8
MKJ*** "JDFIV,6HPZ=)=PK>S*6C@+#>P'4X]*MUR.NSQ0^-M!D6RO&,;RF>:
M&RE=0&C*KEU4CK[\=\4+=(.C9?O[[PUKC3Z-J#V]R%#.\,Z';\GWF4D8)7U4
MY%1>&&\)6S36?AN:P,KCS9E@E#R.!P&8DECC..36:6N+SX@V%Q"+^XAA$\<L
M=S9M%':@K]Y'V@.20!U;@Y&*NZ4[B[U?Q)=VMQ\[_9K:)86,@@C;&0O7YF+-
M],4+6P,T+K7?#T]R^D7>H6$DTK>0]I*ZDN3_  E3USZ5SK>"_#\6KSVWAK5+
MG0-6C4320Z=/^[P>A>!LH1[8%:]]!/JOBZUB$)%IID1NBSJ0LEPP*H,]]HW$
M^Y%8OAO2]>L/&IFU*PM?WUBS7-W#<.X>0R9[QJ,] %SPH%"U_$&=%JVJW^@:
M?:2_V7>ZR% 6ZDLU7S%P/OB/(W9/9>E2Z%XHT;Q)"\FE7\<[1\2PG*RQ'T=#
MAE_$5KUG3:!I-QK-OK$MA =2M\B.Z"XD (VD$CJ,'H<B@#1HKE-5UGQ+H.I3
MW$^D)JVAL<JVG _:K<8YW1D_O!GNI!]JVM%UW3/$6GB^TF\CNK?<4)7(*,.J
MLIY4^Q - &@Z+(C(ZAE88*D9!'I7-7?AJ>REU34-!G_TN]3#6-_*SV3N2-S%
M.JDJ"ORG'/(-=-10!Y'I/B?_ (5UKUIH.M1/8Z1J*>;!'(Q=-.E).8EEP%>+
MN,<IGGCFO7 00"#D'H:@O+*VU"SEM+R!)[>5"DD;C(92,$?D37E5Y;^(?AG<
M06FF:E"/#$MQF&74%>9+0M@"&1@=T<>1E7' )PPYS0!ZTX8HP1@K$<$C.#]*
MY317N+G2=<AU/6+C;:W\D9NP5C98U"L>0,*.3^'>K$OBM+634EUG2[[3[&U0
MNNH<202QE@H96C)8,=V<8R!SVJMIV@>$M6T>9+"YDO+'4_W[[=3FD\TJW+ [
M\@Y7!(],&EW&8%QK36WA&.UU&_CC;4+F8V%QJ17=';+R'._JV/NYY^8>]=+X
M4@LM4\':9>V[0+=3V:;KRVCCWJY7#$'!&<Y[5M6>DVMA9O:QFXDB?.[[1<R3
M'D8(#.Q('MFLCPM>:!K=A'=:(9?(L ]A&"[KM4;2#@GD%0C*QYP1ZFGW%V,
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
M"&]TV"*"?R/)FD_?SMM!)5<C &<#@YP>E=71TN 4444 %%%% !1110 4444
M%%%% !1110 52O;!IK"[AL;@Z?<7&6^TPQJ65\ ;B""&/ '/:KM% '$IXFUW
MPRZP>+;#[19YVKK.FQ,T?H#-$,M&?<97GM7;45@>(-!U'4+B&_TC7;K3+^!"
MJK_K+:4=<21'@_[PP1ZT ;]1W%O#=VTEO<Q)-!*I22.10RLIZ@@]16'H&JZ]
M/=RZ?K^BBUN(DWK>6LGF6LXSCY<_,K<_=8=!UK=BECFC$D4BR(<X93D'MUH
MX01:E\.6)@CN-3\(]3$N9+C3!_L]Y(AZ?>4>H%;RZ3X6\4QZ?K,=G87XB(EM
M+N-02N&W<,.?O9)'KG(KH*X^^\&3V%_+JWA"]32KZ5M\]HZ%K.Z/^W&/NL?[
MZ8/UH SO%OA0V.@WL>@Q:W)+J=Q''<BVU"1FBB+[I'17DQD@%<9'WO3-<_#H
M,MKXATNYTSPWXB6VM;7RY!?7WDIOB.Z%W:.0E\#*8(/&T 8&*WM5^)5[X<L@
MWB#PW=65Q&ZB1U;S+>5.YBE QN[A7V],9S4VB>.G\=B>V\.QPI$AF6>]N SH
MBAV6/:GRLS.H#$9 4,,DGBE*]G8:WU*?V/1]+\$KXBLO"UA-)J,45S>K.Y=>
M2&_CW$X+<#C\*Z#5_$G]BZU::1;II=O&\ D5KNZ\A?O;0J *<GVXJ*7PIJC^
M!X?#G]KV8\N-86N#9-S&H&/E\W@\<G/X"L[Q9K6GC3'T_5/%^AV\4\/D72+!
MOF8G()C42$CCU#8-4[7=N_X"6VO]:G9ZC)?QVP;3H;:6;=R+B5HU"^N0K?RK
MD(O&NIW=M;E+?3[.26"XNA)<3,T3QQ,%&TX4_-G.3T'.#5*ZUWQ#XBTZ]TWP
MOI-XUK<((H-1U"(V<4,94*6&[,DA/)R%&,CK45U\+]2UF"R37->@NH[=-D=D
MMH5MH!@ ;%#@L1SR^[/'':I?6W];_P# !=+_ -?UJ:%K\0+OQ/9P)X/TEKRX
MDC4S7=UF.SM6(&59^LC#/W4_,5IZ1X)A@U!-8UZ\?6M:7E+BX4".W]H8_NI]
M>3[UT&FZ?;Z5IEKI]HFRWMHEBC7T &!4\LL<,32RNL<:#+.YP /4FJ=KZ"6P
M^BN3D^(FAR7OV+2?M>N7(8*Z:5"9EC]VDX0#_@57]>T_Q!J,T,.E:U#I5GM/
MGR+:B6=CGHI8[5&.Y!-(9NYYQ7*7_C"\-_/I^@^&]1U2YA<QR32+]FME8=1Y
MK_>Q_L@U9T7P5I.BW_\ :6Z[O]4VE#?7]PTTNT]0,\*/]T"NBH Q=,M]=N])
MNH?$$UG#<3AD3^RS(IA0KCAV.2P.3D 8XJMI7@/PUH\_VF#2XIKPD%KN[)GF
M)]=[DD'Z8KHZYS3+_5[O6=>TZYFMD>W6(VS1Q$B/>K'G)^;&!Z4 :VJZ7::S
MI[V-ZLC0.R/^[E:-@R.'4AE(((90<@]JYVR^&7A?3[P7=O:WBR^:DS9U"=@[
MHX=2P+X;#*#SGD4[2+O7+UM9M8]4@D2SN5CAOY;7(;Y09%*JR@[3QD'U]*O>
M%-2OM1T)M0U*:!D>60P2QQF,-"#A7(+'&<$]>A% !K'@GPUKLOG7^CVSW.=P
MN8P8I@?7S$PWZUS6L_#[Q UO"FA^-+X);S+<16^J(MR-ZGC$A&\ >^ZM;1?$
M.J:OKFI1(L"VIM([BP5P02&9U#.?1MH;'H16GX4U"\U/0_/OWC>Y6XGA9HDV
MJ=DK(,#)QPH[T <.+K6M%\0R:OXDL=<MRX1)+K3/)O;4HO7(\KS8T/4@#N>:
MW/"]EX=U,VUQHWB)]0M[(R-;6ZR1G[,7R"2 H?/S$#?ZUV]<_K7@KP_KTXN;
MS3D2]7E;RW8PSJ?42)AN/<D4 +J'AA]1&F[];U*-K!E=&00DO( 1O;=&<G!/
M3 ]J6?P9H$^K6FIG3+5+NWG-QYJ0(&D<@C+G&3R<_4 UD_V/XST#G2-:AUNT
M7I::P-LP'HLZ#D_[ZGZT^'XAV5I,EKXFL+SP]<L=H:]7-NY_V9URA_$B@#L:
MQ]?\+Z5XE@C34+<^="=T%U$QCF@;^\CCE3^GJ#6K#-%<PI-!*DL3C<CHP96'
MJ".M/H X;^T_$G@OY-;CEUW1%Z:E;1_Z3;K_ --HA]\#^^G/&2*Z[3-4L-9L
M([[3;N&ZM9!E98F# ^WL?;J*MUR.I^"0E_)J_AB\.BZLYW2^6NZVNCZ31=#_
M +PPPSG)H ZZBN/L?&YL[R/2_%MF-&U!SMBG+;K2Z/\ TSEZ _[+8/(ZUV%
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
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** (+R]M=.M)+N\N([>WC&7DD8*
MJCZFJ=[XATJPMK>XN+Q5BN%WQ%06+KC)8  G !!)Z"F>)FB7P]>&6WEG)B98
MTBMVF;>00,*H)Z]^U<E87+V3Z%J,^GZB]NFC-9,@LI2\<P*':4V[@#M(SC''
M6E??^NC_ ,OQ';^ON.MN/$VC6TT$4NH1!IE1T(R5VL<*21P 3T)QFK.HZOIV
MD(CZC>P6JR'"&5PNX^V:\RM-*U'3?#6J:'<Z?=O>ZC96T=L4A9T4^6$*LX&%
MV')Y(]J[O6=2N4T"[73[:X:^$@LX=\+#]XV%#].4&<[NG!IOR$M]2U)XET>.
MSM[L7\4L-R2(##F0R8Z[0N2<=_2M-'62-74Y5@"#[5Y[JVDSZ#J.G?8YM2AM
MK?2GMH9+&U$[&;<IPP*-C=USQG'6NYTIKQ](LWU!56]:!#.J] ^!N'YYIZ"+
M=%%%(84444 9GB#_ ) TO^_'_P"AK6G69X@_Y TO^_'_ .AK6G0 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110!F>(/^0-+_OQ_^AK6G69X@_Y TO\ OQ_^AK6G0 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110!F>(/\ D#2_[\?_ *&M:=9GB#_D#2_[\?\
MZ&M:= !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 5R_C3QA_PB4-ALLOM4][.(8U:41*.F<L>,\\
M"NHKE_&_AF\\4:7#:6E]# %E5I8KB 2QRKD=1U!&,C!]N])WZ#5NI7N?'L5O
MXGL]!_L]OM4\44L@DNH4,6\GC!;+D8).W-/\-^.8_$.K?8_[/DMHIH9)[.9I
M WGQI)Y;$@?=.<<<\&J<GP^F=-/LO[8#:9:BVWQO:J9F:$Y&)000">H(/MBK
M/AGP,?#^KB[?4?M,-O!);V4/D[#%&\GF-N.3N.<#.!P*I6O]_P#7Y$]/N-WQ
M 1_8\HSSOC_]#6M.L?Q';02::T[P1M-&\>R1D!9?G7H>U;%(84444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110!F>(/^0-+_OQ_P#H:UIUF>(/^0-+_OQ_^AK6G0 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110!F>(/^0-+_ +\?_H:UIUF>(/\ D#2_[\?_ *&M
M:= !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% &9X@_Y TO^_'_ .AK6G69X@_Y TO^
M_'_Z&M:= !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% &9X@_Y TO\ OQ_^AK6G69X@
M_P"0-+_OQ_\ H:UIT %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110!PNK>,]1L/B-9Z 8K.WL
M944B6Z9D,Y.,B-L;=PS]WO[4OA/QM?:[K,5O=VMO%:WMM+=69B)WJD<OED/G
M@D\'BK^K>!K36/$UMJ]Q?7GEQ;6>SWYB=E964\\KRHSC&<#WS+H7@O3O#VJ2
M7UO<7,AV/%!%,X*6Z,^]E3 !P6]2:(^?F$O+R+?B>[@MM&E625!(6C*H6 9@
M'7.!5[^UM-_Z"%I_W^7_ !JQ)##*1YD<;D=-R@TS[):_\^\/_? H B_M;3?^
M@A:?]_E_QH_M;3?^@A:?]_E_QJ7[':_\^T/_ 'P*7[':_P#/M#_WP* (?[6T
MW_H(6G_?Y?\ &C^UM-_Z"%I_W^7_ !J;[':_\^T/_? H^QVO_/M#_P!\"@"'
M^UM-_P"@A:?]_E_QH_M;3?\ H(6G_?Y?\:F^QVO_ #[0_P#? H^QVO\ S[0_
M]\"@"'^UM-_Z"%I_W^7_ !H_M;3?^@A:?]_E_P :F^QVO_/M#_WP*/L=K_S[
M0_\ ? H A_M;3?\ H(6G_?Y?\:/[6TW_ *"%I_W^7_&IOL=K_P ^T/\ WP*/
ML=K_ ,^T/_? H A_M;3?^@A:?]_E_P :/[6TW_H(6G_?Y?\ &IOL=K_S[0_]
M\"D-I:CK;P_]\"@"M<:WIT%M+*+VV<HA8(LRY; S@<TZ/6=-DC1_M]JNX X,
MRY'ZU/\ 9+7./L\/_? H^R6G_/O#_P!\"@"+^UM-_P"@A:?]_E_QH_M;3?\
MH(6G_?Y?\:E%I:GI;P_]\"E^QVO_ #[0_P#? H A_M;3?^@A:?\ ?Y?\:/[6
MTW_H(6G_ '^7_&IOL=K_ ,^T/_? H^QVO_/M#_WP* (?[6TW_H(6G_?Y?\:/
M[6TW_H(6G_?Y?\:F^QVO_/M#_P!\"C[':_\ /M#_ -\"@"'^UM-_Z"%I_P!_
ME_QH_M;3?^@A:?\ ?Y?\:F^QVO\ S[0_]\"C[':_\^T/_? H A_M;3?^@A:?
M]_E_QH_M;3?^@A:?]_E_QJ;[':_\^T/_ 'P*/L=K_P ^T/\ WP* (?[6TW_H
M(6G_ '^7_&C^UM-_Z"%I_P!_E_QJ;[':_P#/M#_WP*3[':CK;P_]\"@"+^UM
M-_Z"%I_W^7_&H;77=.N;2*<WEO$9$#%'F7*Y['FK?V2T_P"?>'G_ &!1]DM<
MX^SPY_W!0!%_:VF_]!"T_P"_R_XT?VMIO_00M/\ O\O^-2_8[7_GWA_[X%+]
MCM?^?:'_ +X% $/]K:;_ -!"T_[_ "_XT?VMIO\ T$+3_O\ +_C4WV.U_P"?
M:'_O@4?8[7_GVA_[X% $/]K:;_T$+3_O\O\ C1_:VF_]!"T_[_+_ (U-]CM?
M^?:'_O@4?8[7_GVA_P"^!0!#_:VF_P#00M/^_P O^-']K:;_ -!"T_[_ "_X
MU-]CM?\ GVA_[X%'V.U_Y]H?^^!0!#_:VF_]!"T_[_+_ (T?VMIO_00M/^_R
M_P"-3?8[7_GVA_[X%'V.U_Y]H?\ O@4 0_VMIO\ T$+3_O\ +_C1_:VF_P#0
M0M/^_P O^-3?8[7_ )]H?^^!2?8[7_GVA_[X% $7]K:;_P!!"T_[_+_C4-OK
MNG3QLQO+>/$CIAIEYVL1GKT.,_C5O[):8S]GAQ_N"C[):YQ]GAS_ +@H B_M
M;3?^@A:?]_E_QH_M;3?^@A:?]_E_QJ7[):GI;P_]\"E^QVO_ #[0_P#? H A
M_M;3?^@A:?\ ?Y?\:/[6TW_H(6G_ '^7_&IOL=K_ ,^T/_? H^QVO_/M#_WP
M* (?[6TW_H(6G_?Y?\:/[6TW_H(6G_?Y?\:F^QVO_/M#_P!\"C[':_\ /M#_
M -\"@"'^UM-_Z"%I_P!_E_QH_M;3?^@A:?\ ?Y?\:F^QVO\ S[0_]\"C[':_
M\^T/_? H A_M;3?^@A:?]_E_QH_M;3?^@A:?]_E_QJ;[':_\^T/_ 'P*/L=K
M_P ^T/\ WP* (?[6TW_H(6G_ '^7_&C^UM-_Z"%I_P!_E_QJ;[':_P#/M#_W
MP*/L=K_S[0_]\"@"'^UM-_Z"%I_W^7_&HHM=TZ66=#>6R")P@8S+A_E#9'/3
MG'X&K7V2TQG[/#_WP*/LEI_S[P\_[ H B_M;3?\ H(6G_?Y?\:/[6TW_ *"%
MI_W^7_&I?LEKG'V>'/\ N"E^QVO_ #[0_P#? H A_M;3?^@A:?\ ?Y?\:/[6
MTW_H(6G_ '^7_&IOL=K_ ,^T/_? H^QVO_/M#_WP* (?[6TW_H(6G_?Y?\:/
M[6TW_H(6G_?Y?\:F^QVO_/M#_P!\"C[':_\ /M#_ -\"@"'^UM-_Z"%I_P!_
ME_QH_M;3?^@A:?\ ?Y?\:F^QVO\ S[0_]\"C[':_\^T/_? H A_M;3?^@A:?
M]_E_QH_M;3?^@A:?]_E_QJ;[':_\^T/_ 'P*/L=K_P ^T/\ WP* (?[6TW_H
M(6G_ '^7_&C^UM-_Z"%I_P!_E_QJ;[':_P#/M#_WP*/L=K_S[0_]\"@"'^UM
M-_Z"%I_W^7_&EMM1M[R[F@MY$E$2(YD1PP^8L,<=QM_6I/LEI_S[P\?[ I\<
M<4(_=HB _P!T 9H DHHHH **** "BBB@ KS+XLWFCQM865W<>7J5TCQVKRSF
M.&U!QNG;'\0Q\O?->FTA4'J :36PT['CEI)*?B+ J7<TNJG4P@?<26L/LO#8
MZ;2W.?[U-O;9[:Q\0PWVJM/!;Z_ 9FOY&1+A3$F4=D4[%R?3 P!7LNU=V[ S
MTSB@J&!! (/4$4?U^*_R_$7]?@_\SD_AHUX_@+3FO2Q?,GEEB2?+WMLY/)&W
M&,]L5UM'2BJ;NQ(****0PHHHH **** "BBB@ KS[XK7^CV>DV::D=]S/(T=I
M"\QCBWE<>9(1_"F<_7I7H-(0#U -)JXT['A[/)%XFT^,:E+>:A&^EIIUP';]
M];[3Y[KV*GG<?IFJLU_87H\47'AJ_D18;5X73[0SW%W^]4RS$=@JY4'K@FO>
MMJY!VC(Z''2C:HZ ?E57UN)?Y'%_#9HFL-8%BY?25U*06#;BR^7M7.TG^'=N
M_6NUI  HP  /04M#$D%%%%(84444 %%%% !1110 5R7Q&O\ 2--\*/<:R)9+
M<3)LMXY-GGOGY48_W3U.>,"NMI" >HS2:N-.Q\_Z@Q@T?3T;4_M172Y'TM[>
M5F07AN!\D9_B*J0HSV!KJ+2ZTJ_^*_V>PU$VU_;-)]KFDG+27$K1X\I$/&Q,
M;O3(KUC:IQ\HXZ<=*-HSG SZU77^OZ_I"Z?U_7],XSX>0S6R>(K>>[GNFBUB
M5/.G;+M\J<GM^7%=I1C%%(.H4444 %%%% !1110 4444 %8GB^XTZT\)ZC/J
MTTT5BD1,S0,5<C/W01W/3\:VZ" 1@TFKH:=G<\!$]C+H-C//>1KH=Q=7DSVT
M,[-':.8/W,18'[V><=-QXK0:_L)]<\,6=]J#VNO+;V<][=W-P5,("C]TB]V?
M/S?7FO;2BD8*C'IBC:,YP,_2G_7]?UL+H>7?#6[T?4/%6J7.BWFVU6'R5MY)
MR\UP0^6N) >G)P.^*]2I H'0 4M/HD'5L****0!1110 4444 %%%% !574I(
M(M,NY+F9H8%A<R2J<%%P<D'L0*M44FKJPT[,\"L;O2[S2;B[L;OR=!FU.S2Z
ML_/9FCME+!I9CGY2YQGV S2WM_IK>&M"L;V]>'4KCSA97%S<,D=I;"=BDWN^
MT +W/TKWO8N"-HP>HQ1M7^Z/RJO^!_7]>8OZ_K^NQYCIDVGCXKVYTJXEG:6.
MY2]3<XD1QM(>4-P4. $QCKQFO3Z0*H8L ,GJ<4M+HD+K<****!A1110 4444
M %%%% !39"JQL6;:H!);/04ZBDP/ DOM.O;+Q!=:!?21V*K##+#Y[//<1"=?
M-N).>/E) [XS4FHZAHT/A;[-/.72XU*[AT3S;AD@CA) \XG/*H<[?TKWC:O]
MT?E1L7 &T8'08I]+>G]?UMJ.^M_Z_K\SR*YU/5O^$Z\*))'J,VFP2I;VTZ &
A.\!@;=,3NR3G!QV )ZFO7J,#TZ44[_K^)-@HHHI#/__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>9
<FILENAME>rgr-20241231.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Wed Feb 19 03:12:50 UTC 2025 -->
<xs:schema elementFormDefault="qualified" xmlns:srt-types="http://fasb.org/srt-types/2024" xmlns:rgr="http://www.ruger.com/20241231" targetNamespace="http://www.ruger.com/20241231" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:us-types="http://fasb.org/us-types/2024" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:dtr="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xlink:type="simple" xlink:href="rgr-20241231_lab.xml" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef"/>
      <link:linkbaseRef xlink:type="simple" xlink:href="rgr-20241231_pre.xml" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef"/>
      <link:linkbaseRef xlink:type="simple" xlink:href="rgr-20241231_def.xml" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef"/>
      <link:linkbaseRef xlink:type="simple" xlink:href="rgr-20241231_cal.xml" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef"/>
      <link:roleType roleURI="http://www.ruger.com/role/ConsolidatedBalanceSheet" id="rgr_r_ConsolidatedBalanceSheet">
        <link:definition>995301 - Statement - Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals" id="rgr_r_ConsolidatedBalanceSheet_Parentheticals">
        <link:definition>995302 - Statement - Consolidated Balance Sheets (Parentheticals)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ConsolidatedIncomeStatement" id="rgr_r_ConsolidatedIncomeStatement">
        <link:definition>995303 - Statement - Consolidated Statements of Income and Comprehensive Income</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ShareholdersEquityType2or3" id="rgr_r_ShareholdersEquityType2or3">
        <link:definition>995304 - Statement - Consolidated Statements of Stockholders&#8217; Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ShareholdersEquityType2or3_Parentheticals" id="rgr_r_ShareholdersEquityType2or3_Parentheticals">
        <link:definition>995305 - Statement - Consolidated Statements of Stockholders&#8217; Equity (Parentheticals)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ConsolidatedCashFlow" id="rgr_r_ConsolidatedCashFlow">
        <link:definition>995306 - Statement - Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/SummaryofSignificantAccountingPolicies" id="rgr_r_SummaryofSignificantAccountingPolicies">
        <link:definition>995307 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomers" id="rgr_r_RevenueRecognitionandContractswithCustomers">
        <link:definition>995308 - Disclosure - Revenue Recognition and Contracts with Customers</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/TradeReceivablesNet" id="rgr_r_TradeReceivablesNet">
        <link:definition>995309 - Disclosure - Trade Receivables, Net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/Inventories" id="rgr_r_Inventories">
        <link:definition>995310 - Disclosure - Inventories</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/PropertyPlantandEquipment" id="rgr_r_PropertyPlantandEquipment">
        <link:definition>995311 - Disclosure - Property, Plant and Equipment</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/OtherAssets" id="rgr_r_OtherAssets">
        <link:definition>995312 - Disclosure - Other Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/LeasedAssets" id="rgr_r_LeasedAssets">
        <link:definition>995313 - Disclosure - Leased Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/TradeAccountsPayableandAccruedExpenses" id="rgr_r_TradeAccountsPayableandAccruedExpenses">
        <link:definition>995314 - Disclosure - Trade Accounts Payable and Accrued Expenses</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/AccruedDividends" id="rgr_r_AccruedDividends">
        <link:definition>995315 - Disclosure - Accrued Dividends</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/LineofCredit" id="rgr_r_LineofCredit">
        <link:definition>995316 - Disclosure - Line of Credit</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/EmployeeBenefitPlans" id="rgr_r_EmployeeBenefitPlans">
        <link:definition>995317 - Disclosure - Employee Benefit Plans</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/OtherOperatingIncomeNet" id="rgr_r_OtherOperatingIncomeNet">
        <link:definition>995318 - Disclosure - Other Operating Income, Net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/IncomeTaxes" id="rgr_r_IncomeTaxes">
        <link:definition>995319 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/EarningsPerShare" id="rgr_r_EarningsPerShare">
        <link:definition>995320 - Disclosure - Earnings Per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/StockRepurchases" id="rgr_r_StockRepurchases">
        <link:definition>995321 - Disclosure - Stock Repurchases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/CompensationPlans" id="rgr_r_CompensationPlans">
        <link:definition>995322 - Disclosure - Compensation Plans</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/OperatingSegmentInformation" id="rgr_r_OperatingSegmentInformation">
        <link:definition>995323 - Disclosure - Operating Segment Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/QuarterlyResultsofOperationsUnaudited" id="rgr_r_QuarterlyResultsofOperationsUnaudited">
        <link:definition>995324 - Disclosure - Quarterly Results of Operations (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/RelatedPartyTransactions" id="rgr_r_RelatedPartyTransactions">
        <link:definition>995325 - Disclosure - Related Party Transactions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ContingentLiabilities" id="rgr_r_ContingentLiabilities">
        <link:definition>995326 - Disclosure - Contingent Liabilities</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/FinancialInstruments" id="rgr_r_FinancialInstruments">
        <link:definition>995327 - Disclosure - Financial Instruments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/SubsequentEvents" id="rgr_r_SubsequentEvents">
        <link:definition>995328 - Disclosure - Subsequent Events</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/AccountingPoliciesByPolicy" id="rgr_r_AccountingPoliciesByPolicy">
        <link:definition>996000 - Disclosure - Accounting Policies, by Policy (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersTables" id="rgr_r_RevenueRecognitionandContractswithCustomersTables">
        <link:definition>996001 - Disclosure - Revenue Recognition and Contracts with Customers (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/TradeReceivablesNetTables" id="rgr_r_TradeReceivablesNetTables">
        <link:definition>996002 - Disclosure - Trade Receivables, Net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/InventoriesTables" id="rgr_r_InventoriesTables">
        <link:definition>996003 - Disclosure - Inventories (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/PropertyPlantandEquipmentTables" id="rgr_r_PropertyPlantandEquipmentTables">
        <link:definition>996004 - Disclosure - Property, Plant and Equipment (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/OtherAssetsTables" id="rgr_r_OtherAssetsTables">
        <link:definition>996005 - Disclosure - Other Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/LeasedAssetsTables" id="rgr_r_LeasedAssetsTables">
        <link:definition>996006 - Disclosure - Leased Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/TradeAccountsPayableandAccruedExpensesTables" id="rgr_r_TradeAccountsPayableandAccruedExpensesTables">
        <link:definition>996007 - Disclosure - Trade Accounts Payable and Accrued Expenses (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/OtherOperatingIncomeNetTables" id="rgr_r_OtherOperatingIncomeNetTables">
        <link:definition>996008 - Disclosure - Other Operating Income, Net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/IncomeTaxesTables" id="rgr_r_IncomeTaxesTables">
        <link:definition>996009 - Disclosure - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/EarningsPerShareTables" id="rgr_r_EarningsPerShareTables">
        <link:definition>996010 - Disclosure - Earnings Per Share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/StockRepurchasesTables" id="rgr_r_StockRepurchasesTables">
        <link:definition>996011 - Disclosure - Stock Repurchases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/OperatingSegmentInformationTables" id="rgr_r_OperatingSegmentInformationTables">
        <link:definition>996012 - Disclosure - Operating Segment Information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/QuarterlyResultsofOperationsUnauditedTables" id="rgr_r_QuarterlyResultsofOperationsUnauditedTables">
        <link:definition>996013 - Disclosure - Quarterly Results of Operations (Unaudited) (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ContingentLiabilitiesTables" id="rgr_r_ContingentLiabilitiesTables">
        <link:definition>996014 - Disclosure - Contingent Liabilities (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails" id="rgr_r_SummaryofSignificantAccountingPoliciesDetails">
        <link:definition>996015 - Disclosure - Summary of Significant Accounting Policies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersDetails" id="rgr_r_RevenueRecognitionandContractswithCustomersDetails">
        <link:definition>996016 - Disclosure - Revenue Recognition and Contracts with Customers (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofRevenueRecognizedTable" id="rgr_r_ScheduleofRevenueRecognizedTable">
        <link:definition>996017 - Disclosure - Revenue Recognition and Contracts with Customers - Schedule of Revenue Recognized (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/TradeReceivablesNetDetails" id="rgr_r_TradeReceivablesNetDetails">
        <link:definition>996018 - Disclosure - Trade Receivables, Net (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofTradeReceivablesTable" id="rgr_r_ScheduleofTradeReceivablesTable">
        <link:definition>996019 - Disclosure - Trade Receivables, Net - Schedule of Trade Receivables (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofInventoriesTable" id="rgr_r_ScheduleofInventoriesTable">
        <link:definition>996020 - Disclosure - Inventories - Schedule of Inventories (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/PropertyPlantandEquipmentDetails" id="rgr_r_PropertyPlantandEquipmentDetails">
        <link:definition>996021 - Disclosure - Property, Plant and Equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable" id="rgr_r_ScheduleofPropertyPlantandEquipmentTable">
        <link:definition>996022 - Disclosure - Property, Plant and Equipment - Schedule of Property, Plant and Equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
<!-- [WMV6][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrae3Q64+IQnmb2USxqPYGfVI2tDrLdUwwGN7MqrQdhG+SCWYUh6Hp+V8bA/AEnE3cNkyoG64Ll76gCDgC4Z1W711EVHq0feHKsI1Gwu4Aj9R4Y6zDFYQe1j2qEiui+5O18VDe6OJPfndHv6hh1fIzram6R/SUPM2cdZx4eP1G4UZA/qczLkJ6S47W0oXkqD3/eDQlF7C1TVVk9UfX1E3ulYy35B1qazkv8euvMz48WUGtygHoKUD0/S] CSR-->
      <link:roleType roleURI="http://www.ruger.com/role/OtherAssetsDetails" id="rgr_r_OtherAssetsDetails">
        <link:definition>996023 - Disclosure - Other Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofOtherAssetsTable" id="rgr_r_ScheduleofOtherAssetsTable">
        <link:definition>996024 - Disclosure - Other Assets - Schedule of Other Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/LeasedAssetsDetails" id="rgr_r_LeasedAssetsDetails">
        <link:definition>996025 - Disclosure - Leased Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities" id="rgr_r_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities">
        <link:definition>996026 - Disclosure - Leased Assets - Schedule of Right-of-Use Assets and Related Lease Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable" id="rgr_r_ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable">
        <link:definition>996027 - Disclosure - Leased Assets - Schedule of Operating Lease Liabilities Future Minimum Lease Payments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable" id="rgr_r_ScheduleofTradeAccountsPayableandAccruedExpensesTable">
        <link:definition>996028 - Disclosure - Trade Accounts Payable and Accrued Expenses - Schedule of Trade Accounts Payable and Accrued Expenses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/AccruedDividendsDetails" id="rgr_r_AccruedDividendsDetails">
        <link:definition>996029 - Disclosure - Accrued Dividends (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/LineofCreditDetails" id="rgr_r_LineofCreditDetails">
        <link:definition>996030 - Disclosure - Line of Credit (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/EmployeeBenefitPlansDetails" id="rgr_r_EmployeeBenefitPlansDetails">
        <link:definition>996031 - Disclosure - Employee Benefit Plans (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofOtherOperatingIncomeNetTable" id="rgr_r_ScheduleofOtherOperatingIncomeNetTable">
        <link:definition>996032 - Disclosure - Other Operating Income, Net - Schedule of Other Operating Income, Net (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/IncomeTaxesDetails" id="rgr_r_IncomeTaxesDetails">
        <link:definition>996033 - Disclosure - Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable" id="rgr_r_ScheduleofFederalandStateIncomeTaxProvisionTable">
        <link:definition>996034 - Disclosure - Income Taxes - Schedule of Federal and State Income Tax Provision (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable" id="rgr_r_ScheduleofEffectiveIncomeTaxRateReconciliationTable">
        <link:definition>996035 - Disclosure - Income Taxes - Schedule of Effective Income Tax Rate Reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable" id="rgr_r_ScheduleofDeferredTaxAssetsandLiabilitiesTable">
        <link:definition>996036 - Disclosure - Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable" id="rgr_r_ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable">
        <link:definition>996037 - Disclosure - Earnings Per Share - Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/StockRepurchasesDetails" id="rgr_r_StockRepurchasesDetails">
        <link:definition>996038 - Disclosure - Stock Repurchases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable" id="rgr_r_ScheduleofRepurchasedSharesofitsCommonStockTable">
        <link:definition>996039 - Disclosure - Stock Repurchases - Schedule of Repurchased Shares of its Common Stock (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/CompensationPlansDetails" id="rgr_r_CompensationPlansDetails">
        <link:definition>996040 - Disclosure - Compensation Plans (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/OperatingSegmentInformationDetails" id="rgr_r_OperatingSegmentInformationDetails">
        <link:definition>996041 - Disclosure - Operating Segment Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable" id="rgr_r_ScheduleofOperatingSegmentFinancialInformationTable">
        <link:definition>996042 - Disclosure - Operating Segment Information - Schedule of Operating Segment Financial Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofQuarterlyFinancialInformationTable" id="rgr_r_ScheduleofQuarterlyFinancialInformationTable">
        <link:definition>996043 - Disclosure - Quarterly Results of Operations (Unaudited) - Schedule of Quarterly Financial Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/RelatedPartyTransactionsDetails" id="rgr_r_RelatedPartyTransactionsDetails">
        <link:definition>996044 - Disclosure - Related Party Transactions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ContingentLiabilitiesDetails" id="rgr_r_ContingentLiabilitiesDetails">
        <link:definition>996045 - Disclosure - Contingent Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable" id="rgr_r_ScheduleofRollforwardforProductLiabilityReserveTable">
        <link:definition>996046 - Disclosure - Contingent Liabilities - Schedule of Roll-forward for Product Liability Reserve (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable" id="rgr_r_ScheduleofProductLiabilityExpenseTable">
        <link:definition>996047 - Disclosure - Contingent Liabilities - Schedule of Product Liability Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/SubsequentEventsDetails" id="rgr_r_SubsequentEventsDetails">
        <link:definition>996048 - Disclosure - Subsequent Events (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.ruger.com/role/DocumentAndEntityInformation" id="DocumentAndEntityInformation">
        <link:definition>000 - Document - Document And Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <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/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.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/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd"/>
  <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.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://xbrl.sec.gov/sic/2024" schemaLocation="https://xbrl.sec.gov/sic/2024/sic-2024.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/cyd-af/2024" schemaLocation="https://xbrl.sec.gov/cyd/2024/cyd-af-2024.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/ecd/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/ecd-sub/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei-sub/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-sub-2024.xsd"/>
  <xs:element name="JohnACosentinoJrMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_JohnACosentinoJrMember"/>
  <xs:element name="ScheduleOfRevenueRecognizedAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfRevenueRecognizedAbstract"/>
  <xs:element name="ScheduleOfTradeReceivablesAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfTradeReceivablesAbstract"/>
  <xs:element name="ScheduleOfInventoriesAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfInventoriesAbstract"/>
  <xs:element name="ScheduleOfPropertyPlantAndEquipmentAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfPropertyPlantAndEquipmentAbstract"/>
  <xs:element name="ScheduleOfOtherAssetsAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfOtherAssetsAbstract"/>
  <xs:element name="ScheduleOfOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsAbstract"/>
  <xs:element name="ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract"/>
  <xs:element name="ScheduleOfRepurchasedSharesOfItsCommonStockAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract"/>
  <xs:element name="ScheduleOfOperatingSegmentFinancialInformationAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract"/>
  <xs:element name="ScheduleOfQuarterlyFinancialInformationAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfQuarterlyFinancialInformationAbstract"/>
  <xs:element name="ScheduleOfRollForwardForProductLiabilityReserveAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract"/>
  <xs:element name="ScheduleOfProductLiabilityExpenseAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfProductLiabilityExpenseAbstract"/>
  <xs:element name="CommonStockNonVotingParValue1Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CommonStockNonVotingParValue1Abstract"/>
  <xs:element name="ThirdQuarter2022Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ThirdQuarter2022Abstract"/>
  <xs:element name="FourthQuarter2022Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FourthQuarter2022Abstract"/>
  <xs:element name="FourthQuarter2023Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FourthQuarter2023Abstract"/>
  <xs:element name="FirstQuarter2024Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FirstQuarter2024Abstract"/>
  <xs:element name="SecondQuarter2024Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_SecondQuarter2024Abstract"/>
  <xs:element name="ThirdQuarter2024Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ThirdQuarter2024Abstract"/>
  <xs:element name="FourthQuarter2024Abstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FourthQuarter2024Abstract"/>
  <xs:element name="CastingsAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CastingsAbstract"/>
  <xs:element name="CostsOfGoodsSoldAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CostsOfGoodsSoldAbstract"/>
  <xs:element name="CastingsAbstract0" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CastingsAbstract0"/>
  <xs:element name="GrossProfitLossAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_GrossProfitLossAbstract"/>
  <xs:element name="ProductLiabilityCurrent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ProductLiabilityCurrent"/>
  <xs:element name="EmployeeCompensation" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_EmployeeCompensation"/>
  <xs:element name="ProductLiabilityAccrualNoncurrent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ProductLiabilityAccrualNoncurrent"/>
  <xs:element name="DividendsCommonStockUnpaid" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="rgr_DividendsCommonStockUnpaid"/>
  <xs:element name="ExcessAndObsolescenceInventoryReserve" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ExcessAndObsolescenceInventoryReserve"/>
  <xs:element name="IncreaseDecreaseInProductLiability" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="rgr_IncreaseDecreaseInProductLiability"/>
  <xs:element name="StockRepurchasesDisclosureTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_StockRepurchasesDisclosureTextBlock"/>
  <xs:element name="OrganizationPolicyTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OrganizationPolicyTextBlock"/>
  <xs:element name="PreparationOfFinancialStatementsPolicyTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_PreparationOfFinancialStatementsPolicyTextBlock"/>
  <xs:element name="ShippingCostPolicyPolicyTextBlock" type="dtr:textBlockItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ShippingCostPolicyPolicyTextBlock"/>
  <xs:element name="RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable"/>
  <xs:element name="RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems"/>
  <xs:element name="AllowanceForDiscountssAccountsReceivableCurrent" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_AllowanceForDiscountssAccountsReceivableCurrent"/>
  <xs:element name="LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable"/>
  <xs:element name="ValuationAllowancesAndReservesLegalFees" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ValuationAllowancesAndReservesLegalFees"/>
  <xs:element name="ValuationAllowancesAndReservesSettlements" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ValuationAllowancesAndReservesSettlements"/>
  <xs:element name="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable"/>
  <xs:element name="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems"/>
  <xs:element name="SummaryofSignificantAccountingPoliciesDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_SummaryofSignificantAccountingPoliciesDetailsTable"/>
  <xs:element name="BadDebtExpenseInTerm" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_BadDebtExpenseInTerm"/>
  <xs:element name="ShippingCosts" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ShippingCosts"/>
  <xs:element name="NetIncreaseInFirearmsSales" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_NetIncreaseInFirearmsSales"/>
  <xs:element name="DeferredContractRevenueLiability" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_DeferredContractRevenueLiability"/>
  <xs:element name="DeferredOfRevenue" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_DeferredOfRevenue"/>
  <xs:element name="NetDecreaseInFirearmsSales" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" nillable="true" substitutionGroup="xbrli:item" id="rgr_NetDecreaseInFirearmsSales"/>
  <xs:element name="TradeReceivablesNetDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_TradeReceivablesNetDetailsTable"/>
  <xs:element name="OtherAssetsDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_OtherAssetsDetailsTable"/>
  <xs:element name="OtherAssetsDetailsLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OtherAssetsDetailsLineItems"/>
  <xs:element name="AccruedDividendsDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_AccruedDividendsDetailsTable"/>
  <xs:element name="AccruedDividendsDetailsLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_AccruedDividendsDetailsLineItems"/>
  <xs:element name="LineofCreditDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_LineofCreditDetailsTable"/>
  <xs:element name="IncomeTaxesDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_IncomeTaxesDetailsTable"/>
  <xs:element name="IncomeTaxesDetailsLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_IncomeTaxesDetailsLineItems"/>
  <xs:element name="CapitalizedAndAmortizedOverForIncomeTaxPurposes" type="xbrli:durationItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes"/>
  <xs:element name="CompensationPlansDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_CompensationPlansDetailsTable"/>
  <xs:element name="RecognizedCostsOfRestrictedStockUnits" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_RecognizedCostsOfRestrictedStockUnits"/>
  <xs:element name="UnrecognizedCompensationCost" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnrecognizedCompensationCost"/>
  <xs:element name="OperatingSegmentInformationDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_OperatingSegmentInformationDetailsTable"/>
  <xs:element name="RelatedPartyTransactionsDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_RelatedPartyTransactionsDetailsTable"/>
  <xs:element name="ContingentLiabilitiesDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_ContingentLiabilitiesDetailsTable"/>
  <xs:element name="ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis"/>
  <xs:element name="ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" type="xbrli:monetaryItemType" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" nillable="true" substitutionGroup="xbrli:item" id="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities"/>
  <xs:element name="LossContingencyNumberOfLawsuits" type="xbrli:integerItemType" abstract="false" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_LossContingencyNumberOfLawsuits"/>
  <xs:element name="SubsequentEventsDetailsTable" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrldt:hypercubeItem" id="rgr_SubsequentEventsDetailsTable"/>
  <xs:element name="DateOfRecord" type="xbrli:dateItemType" abstract="false" xbrli:periodType="instant" nillable="true" substitutionGroup="xbrli:item" id="rgr_DateOfRecord"/>
  <xs:element name="AccruedLegalExpenseMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_AccruedLegalExpenseMember"/>
  <xs:element name="AprilTwentyEightToMayTwentyFiveMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_AprilTwentyEightToMayTwentyFiveMember"/>
  <xs:element name="AugustTwentyEightToOctoberOneMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_AugustTwentyEightToOctoberOneMember"/>
  <xs:element name="AugustTwentyFiveToSeptemberTwentyEightMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_AugustTwentyFiveToSeptemberTwentyEightMember"/>
  <xs:element name="CastingsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CastingsMember"/>
  <xs:element name="CastingsSalesMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CastingsSalesMember"/>
  <xs:element name="CastingsUnaffiliatedMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CastingsUnaffiliatedMember"/>
  <xs:element name="CorporatesMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CorporatesMember"/>
  <xs:element name="CustomerFourMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CustomerFourMember"/>
  <xs:element name="CustomerOneMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CustomerOneMember"/>
  <xs:element name="CustomerThreeMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CustomerThreeMember"/>
  <xs:element name="CustomerTwoMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_CustomerTwoMember"/>
  <xs:element name="DavidsonsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_DavidsonsMember"/>
  <xs:element name="DeferredStockMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_DeferredStockMember"/>
  <xs:element name="EliminationsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_EliminationsMember"/>
  <xs:element name="ExportSalesMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ExportSalesMember"/>
  <xs:element name="FebruaryTwentyFiveToMarchThirtyMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FebruaryTwentyFiveToMarchThirtyMember"/>
  <xs:element name="FirearmsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FirearmsMember"/>
  <xs:element name="FirstQuarter2024Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FirstQuarter2024Member"/>
  <xs:element name="FourthQuarter2022Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FourthQuarter2022Member"/>
  <xs:element name="FourthQuarter2023Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FourthQuarter2023Member"/>
  <xs:element name="FourthQuarter2024Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_FourthQuarter2024Member"/>
  <xs:element name="InsurancePremiumExpenseMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_InsurancePremiumExpenseMember"/>
  <xs:element name="IntersegmentMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_IntersegmentMember"/>
  <xs:element name="JanuaryOneToJanuaryTwentySevenMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_JanuaryOneToJanuaryTwentySevenMember"/>
  <xs:element name="JanuaryTwentyEightToFebruaryTwentyFourMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_JanuaryTwentyEightToFebruaryTwentyFourMember"/>
  <xs:element name="JulyThirtyoneToAugustTwentySevenMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_JulyThirtyoneToAugustTwentySevenMember"/>
  <xs:element name="JulyThreeToJulyThirtyMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_JulyThreeToJulyThirtyMember"/>
  <xs:element name="JulyTwentyEightToAugustTwentyFourMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_JulyTwentyEightToAugustTwentyFourMember"/>
  <xs:element name="JuneThirtyToJulyTwentySevenMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_JuneThirtyToJulyTwentySevenMember"/>
  <xs:element name="LeaseLiabilitiesMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_LeaseLiabilitiesMember"/>
  <xs:element name="LipseysMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_LipseysMember"/>
  <xs:element name="MarchThirtyOneToAprilTwentySevenMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_MarchThirtyOneToAprilTwentySevenMember"/>
  <xs:element name="MayTwentySixToJuneTwentyNineMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_MayTwentySixToJuneTwentyNineMember"/>
  <xs:element name="MunicipalLawsuitMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_MunicipalLawsuitMember"/>
  <xs:element name="NationalRifleAssociationMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_NationalRifleAssociationMember"/>
  <xs:element name="NationalShootingSportsFoundationMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_NationalShootingSportsFoundationMember"/>
  <xs:element name="NegligenceLawsuitMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_NegligenceLawsuitMember"/>
  <xs:element name="NovemberTwentySevenToDecemberThirtyOneMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_NovemberTwentySevenToDecemberThirtyOneMember"/>
  <xs:element name="NovemberTwentySixToDecemberThirtyOneMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_NovemberTwentySixToDecemberThirtyOneMember"/>
  <xs:element name="NovemberTwentyThreeToDecemberThirtyOneMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_NovemberTwentyThreeToDecemberThirtyOneMember"/>
  <xs:element name="OctoberOneToOctoberTwentyEightMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OctoberOneToOctoberTwentyEightMember"/>
  <xs:element name="OctoberThirtyToNovemberTwentySevenMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OctoberThirtyToNovemberTwentySevenMember"/>
  <xs:element name="OctoberTwentyNineToNovemberTwentyFiveMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OctoberTwentyNineToNovemberTwentyFiveMember"/>
  <xs:element name="OctoberTwentySevenToNovemberTwentyThreeMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OctoberTwentySevenToNovemberTwentyThreeMember"/>
  <xs:element name="OctoberTwoToOctoberTwentyNineMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OctoberTwoToOctoberTwentyNineMember"/>
  <xs:element name="OperatingLeaseMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_OperatingLeaseMember"/>
  <xs:element name="ProductLiabilityReserveMemberMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ProductLiabilityReserveMemberMember"/>
  <xs:element name="S2022Q4DividendsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_S2022Q4DividendsMember"/>
  <xs:element name="SecondQuarter2024Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_SecondQuarter2024Member"/>
  <xs:element name="SeptemberTwentyNineToOctoberTwentySixMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_SeptemberTwentyNineToOctoberTwentySixMember"/>
  <xs:element name="SportsSouthMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_SportsSouthMember"/>
  <xs:element name="StockIncentivePlan2017Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_StockIncentivePlan2017Member"/>
  <xs:element name="StockIncentivePlan2023Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_StockIncentivePlan2023Member"/>
  <xs:element name="ThirdQuarter2022Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ThirdQuarter2022Member"/>
  <xs:element name="ThirdQuarter2024Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ThirdQuarter2024Member"/>
  <xs:element name="TotalProductLiabilityExpenseMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_TotalProductLiabilityExpenseMember"/>
  <xs:element name="TradeAccountsPayableAndAccruedExpensesMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_TradeAccountsPayableAndAccruedExpensesMember"/>
  <xs:element name="TradeNameMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_TradeNameMember"/>
  <xs:element name="TrademarkLawsuitMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_TrademarkLawsuitMember"/>
  <xs:element name="TrademarkLitigationMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_TrademarkLitigationMember"/>
  <xs:element name="TraditionalProductLiabilityLawsuitMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_TraditionalProductLiabilityLawsuitMember"/>
  <xs:element name="UnaffiliatedCastingsMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnaffiliatedCastingsMember"/>
  <xs:element name="UnfairTradePracticesMember" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_UnfairTradePracticesMember"/>
  <xs:element name="VestInJune2024Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_VestInJune2024Member"/>
  <xs:element name="VestInJune2025Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_VestInJune2025Member"/>
  <xs:element name="VestInJune2026Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_VestInJune2026Member"/>
  <xs:element name="VestInJune2027Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_VestInJune2027Member"/>
  <xs:element name="VestInMay2023Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_VestInMay2023Member"/>
  <xs:element name="VestingInMay2025Member" type="dtr:domainItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_VestingInMay2025Member"/>
  <xs:element name="ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract"/>
  <xs:element name="TradeReceivablesNetLineItems" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_TradeReceivablesNetLineItems"/>
  <xs:element name="DocumentAndEntityInformationAbstract" type="xbrli:stringItemType" abstract="true" xbrli:periodType="duration" nillable="true" substitutionGroup="xbrli:item" id="rgr_DocumentAndEntityInformationAbstract"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>rgr-20241231_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Wed Feb 19 03:12:50 UTC 2025 -->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" 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">
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#PvpDisclosure" roleURI="http://xbrl.sec.gov/ecd/role/PvpDisclosure"/>
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ErrCompDisclosure" roleURI="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"/>
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingArrangements" roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"/>
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#AwardTimingDisclosure" roleURI="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ConsolidatedBalanceSheet" roleURI="http://www.ruger.com/role/ConsolidatedBalanceSheet"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ConsolidatedBalanceSheet_Parentheticals" roleURI="http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ConsolidatedIncomeStatement" roleURI="http://www.ruger.com/role/ConsolidatedIncomeStatement"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ShareholdersEquityType2or3" roleURI="http://www.ruger.com/role/ShareholdersEquityType2or3"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ShareholdersEquityType2or3_Parentheticals" roleURI="http://www.ruger.com/role/ShareholdersEquityType2or3_Parentheticals"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ConsolidatedCashFlow" roleURI="http://www.ruger.com/role/ConsolidatedCashFlow"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_SummaryofSignificantAccountingPolicies" roleURI="http://www.ruger.com/role/SummaryofSignificantAccountingPolicies"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_RevenueRecognitionandContractswithCustomers" roleURI="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomers"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_TradeReceivablesNet" roleURI="http://www.ruger.com/role/TradeReceivablesNet"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_Inventories" roleURI="http://www.ruger.com/role/Inventories"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_PropertyPlantandEquipment" roleURI="http://www.ruger.com/role/PropertyPlantandEquipment"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OtherAssets" roleURI="http://www.ruger.com/role/OtherAssets"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_LeasedAssets" roleURI="http://www.ruger.com/role/LeasedAssets"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_TradeAccountsPayableandAccruedExpenses" roleURI="http://www.ruger.com/role/TradeAccountsPayableandAccruedExpenses"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_AccruedDividends" roleURI="http://www.ruger.com/role/AccruedDividends"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_LineofCredit" roleURI="http://www.ruger.com/role/LineofCredit"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_EmployeeBenefitPlans" roleURI="http://www.ruger.com/role/EmployeeBenefitPlans"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OtherOperatingIncomeNet" roleURI="http://www.ruger.com/role/OtherOperatingIncomeNet"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_IncomeTaxes" roleURI="http://www.ruger.com/role/IncomeTaxes"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_EarningsPerShare" roleURI="http://www.ruger.com/role/EarningsPerShare"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_StockRepurchases" roleURI="http://www.ruger.com/role/StockRepurchases"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_CompensationPlans" roleURI="http://www.ruger.com/role/CompensationPlans"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OperatingSegmentInformation" roleURI="http://www.ruger.com/role/OperatingSegmentInformation"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_QuarterlyResultsofOperationsUnaudited" roleURI="http://www.ruger.com/role/QuarterlyResultsofOperationsUnaudited"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_RelatedPartyTransactions" roleURI="http://www.ruger.com/role/RelatedPartyTransactions"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ContingentLiabilities" roleURI="http://www.ruger.com/role/ContingentLiabilities"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_FinancialInstruments" roleURI="http://www.ruger.com/role/FinancialInstruments"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_SubsequentEvents" roleURI="http://www.ruger.com/role/SubsequentEvents"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_AccountingPoliciesByPolicy" roleURI="http://www.ruger.com/role/AccountingPoliciesByPolicy"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_RevenueRecognitionandContractswithCustomersTables" roleURI="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_TradeReceivablesNetTables" roleURI="http://www.ruger.com/role/TradeReceivablesNetTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_InventoriesTables" roleURI="http://www.ruger.com/role/InventoriesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_PropertyPlantandEquipmentTables" roleURI="http://www.ruger.com/role/PropertyPlantandEquipmentTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OtherAssetsTables" roleURI="http://www.ruger.com/role/OtherAssetsTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_LeasedAssetsTables" roleURI="http://www.ruger.com/role/LeasedAssetsTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_TradeAccountsPayableandAccruedExpensesTables" roleURI="http://www.ruger.com/role/TradeAccountsPayableandAccruedExpensesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OtherOperatingIncomeNetTables" roleURI="http://www.ruger.com/role/OtherOperatingIncomeNetTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_IncomeTaxesTables" roleURI="http://www.ruger.com/role/IncomeTaxesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_EarningsPerShareTables" roleURI="http://www.ruger.com/role/EarningsPerShareTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_StockRepurchasesTables" roleURI="http://www.ruger.com/role/StockRepurchasesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OperatingSegmentInformationTables" roleURI="http://www.ruger.com/role/OperatingSegmentInformationTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_QuarterlyResultsofOperationsUnauditedTables" roleURI="http://www.ruger.com/role/QuarterlyResultsofOperationsUnauditedTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ContingentLiabilitiesTables" roleURI="http://www.ruger.com/role/ContingentLiabilitiesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofRevenueRecognizedTable" roleURI="http://www.ruger.com/role/ScheduleofRevenueRecognizedTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofTradeReceivablesTable" roleURI="http://www.ruger.com/role/ScheduleofTradeReceivablesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofInventoriesTable" roleURI="http://www.ruger.com/role/ScheduleofInventoriesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofPropertyPlantandEquipmentTable" roleURI="http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofOtherAssetsTable" roleURI="http://www.ruger.com/role/ScheduleofOtherAssetsTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable" roleURI="http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofTradeAccountsPayableandAccruedExpensesTable" roleURI="http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofOtherOperatingIncomeNetTable" roleURI="http://www.ruger.com/role/ScheduleofOtherOperatingIncomeNetTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofFederalandStateIncomeTaxProvisionTable" roleURI="http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofEffectiveIncomeTaxRateReconciliationTable" roleURI="http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofDeferredTaxAssetsandLiabilitiesTable" roleURI="http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable" roleURI="http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofRepurchasedSharesofitsCommonStockTable" roleURI="http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofOperatingSegmentFinancialInformationTable" roleURI="http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofQuarterlyFinancialInformationTable" roleURI="http://www.ruger.com/role/ScheduleofQuarterlyFinancialInformationTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofRollforwardforProductLiabilityReserveTable" roleURI="http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofProductLiabilityExpenseTable" roleURI="http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities" roleURI="http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"/>
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#CybersecurityRiskManagementAndStrategyDisclosure" roleURI="http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_SummaryofSignificantAccountingPoliciesDetails" roleURI="http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_RevenueRecognitionandContractswithCustomersDetails" roleURI="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_TradeReceivablesNetDetails" roleURI="http://www.ruger.com/role/TradeReceivablesNetDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_PropertyPlantandEquipmentDetails" roleURI="http://www.ruger.com/role/PropertyPlantandEquipmentDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OtherAssetsDetails" roleURI="http://www.ruger.com/role/OtherAssetsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_LeasedAssetsDetails" roleURI="http://www.ruger.com/role/LeasedAssetsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_AccruedDividendsDetails" roleURI="http://www.ruger.com/role/AccruedDividendsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_LineofCreditDetails" roleURI="http://www.ruger.com/role/LineofCreditDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_EmployeeBenefitPlansDetails" roleURI="http://www.ruger.com/role/EmployeeBenefitPlansDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_IncomeTaxesDetails" roleURI="http://www.ruger.com/role/IncomeTaxesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_StockRepurchasesDetails" roleURI="http://www.ruger.com/role/StockRepurchasesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_CompensationPlansDetails" roleURI="http://www.ruger.com/role/CompensationPlansDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OperatingSegmentInformationDetails" roleURI="http://www.ruger.com/role/OperatingSegmentInformationDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_RelatedPartyTransactionsDetails" roleURI="http://www.ruger.com/role/RelatedPartyTransactionsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ContingentLiabilitiesDetails" roleURI="http://www.ruger.com/role/ContingentLiabilitiesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_SubsequentEventsDetails" roleURI="http://www.ruger.com/role/SubsequentEventsDetails"/>
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#cover" roleURI="http://xbrl.sec.gov/dei/role/document/Cover"/>
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#ai" roleURI="http://xbrl.sec.gov/dei/role/document/AuditInformation"/>
  <presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/PvpDisclosure" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember"/>
    <loc xlink:type="locator" xlink:label="JohnACosentinoJrMember" xlink:href="rgr-20241231.xsd#rgr_JohnACosentinoJrMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="JohnACosentinoJrMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember"/>
    <loc xlink:type="locator" xlink:label="JohnACosentinoJrMember" xlink:href="rgr-20241231.xsd#rgr_JohnACosentinoJrMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="JohnACosentinoJrMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember"/>
    <loc xlink:type="locator" xlink:label="JohnACosentinoJrMember" xlink:href="rgr-20241231.xsd#rgr_JohnACosentinoJrMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="JohnACosentinoJrMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember"/>
    <loc xlink:type="locator" xlink:label="JohnACosentinoJrMember" xlink:href="rgr-20241231.xsd#rgr_JohnACosentinoJrMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_AllIndividualsMember" xlink:to="JohnACosentinoJrMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ConsolidatedBalanceSheet" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonvotingCommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonvotingCommonStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_NonvotingCommonStockMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_CommonStockMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShortTermInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermInvestments"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_ShortTermInvestments" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryGross" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryLIFOReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLIFOReserve"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryLIFOReserve" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryValuationReserves"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryValuationReserves" order="5.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherAssetsNoncurrent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Assets" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ProductLiabilityCurrent" xlink:href="rgr-20241231.xsd#rgr_ProductLiabilityCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="ProductLiabilityCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WorkersCompensationLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WorkersCompensationLiabilityCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_WorkersCompensationLiabilityCurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrent" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="EmployeeCompensation" xlink:href="rgr-20241231.xsd#rgr_EmployeeCompensation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="EmployeeCompensation" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ProductLiabilityAccrualNoncurrent" xlink:href="rgr-20241231.xsd#rgr_ProductLiabilityAccrualNoncurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ProductLiabilityAccrualNoncurrent" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommitmentsAndContingencies" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_TreasuryStockCommonValue" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonvotingCommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonvotingCommonStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_NonvotingCommonStockMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_CommonStockMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockCommonShares" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ConsolidatedIncomeStatement" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_StatementTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="FirearmsMember" xlink:href="rgr-20241231.xsd#rgr_FirearmsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="FirearmsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="UnaffiliatedCastingsMember" xlink:href="rgr-20241231.xsd#rgr_UnaffiliatedCastingsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="UnaffiliatedCastingsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Revenues" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingExpensesAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SellingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_SellingExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherOperatingIncomeExpenseNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpenses" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherIncomeAndExpensesAbstract" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RoyaltyIncomeNonoperating" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyIncomeNonoperating"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_RoyaltyIncomeNonoperating" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeInterest"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_InvestmentIncomeInterest" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InterestExpenseNonoperating" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_InterestExpenseNonoperating" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_NetIncomeLoss" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockDividendsPerShareDeclared"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ShareholdersEquityType2or3" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_CommonStockMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AdditionalPaidInCapitalMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_RetainedEarningsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_TreasuryStockCommonMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="4.0"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsCommonStock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DividendsCommonStock" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="DividendsCommonStockUnpaid" xlink:href="rgr-20241231.xsd#rgr_DividendsCommonStockUnpaid"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="DividendsCommonStockUnpaid" order="6.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" order="7.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity_0" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ShareholdersEquityType2or3_Parentheticals" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ConsolidatedCashFlow" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortization" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ExcessAndObsolescenceInventoryReserve" xlink:href="rgr-20241231.xsd#rgr_ExcessAndObsolescenceInventoryReserve"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="ExcessAndObsolescenceInventoryReserve" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredOtherTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="IncreaseDecreaseInProductLiability" xlink:href="rgr-20241231.xsd#rgr_IncreaseDecreaseInProductLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInProductLiability" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="6.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquireInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireInvestments" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfProductiveAssets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfProductiveAssets" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsOfDividends" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividends"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfDividends" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/SummaryofSignificantAccountingPolicies" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomers" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/TradeReceivablesNet" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/Inventories" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/PropertyPlantandEquipment" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/OtherAssets" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/LeasedAssets" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/TradeAccountsPayableandAccruedExpenses" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/AccruedDividends" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_TableTextBlockSupplementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlockSupplementAbstract" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/LineofCredit" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/EmployeeBenefitPlans" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/OtherOperatingIncomeNet" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/IncomeTaxes" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/EarningsPerShare" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/StockRepurchases" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockValueAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAbstract"/>
    <loc xlink:type="locator" xlink:label="StockRepurchasesDisclosureTextBlock" xlink:href="rgr-20241231.xsd#rgr_StockRepurchasesDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TreasuryStockValueAbstract" xlink:to="StockRepurchasesDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/CompensationPlans" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/OperatingSegmentInformation" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/QuarterlyResultsofOperationsUnaudited" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/RelatedPartyTransactions" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ContingentLiabilities" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LegalMattersAndContingenciesTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_LegalMattersAndContingenciesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/FinancialInstruments" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DerivativeInstrumentDetailAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentDetailAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancialInstrumentsDisclosureTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentDetailAbstract" xlink:to="us-gaap_FinancialInstrumentsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/SubsequentEvents" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/AccountingPoliciesByPolicy" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="OrganizationPolicyTextBlock" xlink:href="rgr-20241231.xsd#rgr_OrganizationPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="OrganizationPolicyTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="PreparationOfFinancialStatementsPolicyTextBlock" xlink:href="rgr-20241231.xsd#rgr_PreparationOfFinancialStatementsPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="PreparationOfFinancialStatementsPolicyTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilityReserveEstimatePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilityReserveEstimatePolicy"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_LiabilityReserveEstimatePolicy" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ShippingCostPolicyPolicyTextBlock" xlink:href="rgr-20241231.xsd#rgr_ShippingCostPolicyPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="ShippingCostPolicyPolicyTextBlock" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy" order="15.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock" order="16.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" order="17.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/TradeReceivablesNetTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/InventoriesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/PropertyPlantandEquipmentTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/OtherAssetsTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfOtherAssetsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfOtherAssetsTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="us-gaap_ScheduleOfOtherAssetsTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/LeasedAssetsTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeaseCostTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/TradeAccountsPayableandAccruedExpensesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:to="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/OtherOperatingIncomeNetTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/IncomeTaxesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FederalIncomeTaxNoteTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FederalIncomeTaxNoteTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_FederalIncomeTaxNoteTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/EarningsPerShareTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/StockRepurchasesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockValueAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfTreasuryStockByClassTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfTreasuryStockByClassTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TreasuryStockValueAbstract" xlink:to="us-gaap_ScheduleOfTreasuryStockByClassTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/OperatingSegmentInformationTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/QuarterlyResultsofOperationsUnauditedTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ContingentLiabilitiesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingenciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityContingenciesTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_ProductLiabilityContingenciesTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofRevenueRecognizedTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfRevenueRecognizedAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfRevenueRecognizedAbstract"/>
    <loc xlink:type="locator" xlink:label="RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable" xlink:href="rgr-20241231.xsd#rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable"/>
    <loc xlink:type="locator" xlink:label="RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRevenueRecognizedAbstract" xlink:to="RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_StatementScenarioAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable" xlink:to="srt_StatementScenarioAxis" order="1.0"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" order="0.0"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable" xlink:to="RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeRevenueRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeRevenueRecognized"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems" xlink:to="us-gaap_DeferredIncomeRevenueRecognized" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredRevenueAdditions" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueAdditions"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems" xlink:to="us-gaap_DeferredRevenueAdditions" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiability_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems" xlink:to="us-gaap_ContractWithCustomerLiability_0" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofTradeReceivablesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfTradeReceivablesAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfTradeReceivablesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeReceivablesAbstract" xlink:to="us-gaap_AccountsReceivableGrossCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeReceivablesAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="AllowanceForDiscountssAccountsReceivableCurrent" xlink:href="rgr-20241231.xsd#rgr_AllowanceForDiscountssAccountsReceivableCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeReceivablesAbstract" xlink:to="AllowanceForDiscountssAccountsReceivableCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeReceivablesAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofInventoriesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfInventoriesAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfInventoriesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNetAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfInventoriesAbstract" xlink:to="us-gaap_InventoryNetAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryFinishedGoods" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetAbstract" xlink:to="us-gaap_InventoryFinishedGoods" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetAbstract" xlink:to="us-gaap_InventoryWorkInProcessAndRawMaterials" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfInventoriesAbstract" xlink:to="us-gaap_InventoryGross" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryLIFOReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLIFOReserve"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryLIFOReserve" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryValuationReserves"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryValuationReserves" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfInventoriesAbstract" xlink:to="us-gaap_InventoryNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfPropertyPlantAndEquipmentAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfPropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LandImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandImprovementsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LandImprovementsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_MachineryAndEquipmentMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ToolsDiesAndMoldsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ToolsDiesAndMoldsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_ToolsDiesAndMoldsMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofOtherAssetsTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfOtherAssetsAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfOtherAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedPatentsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedPatentsGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_FiniteLivedPatentsGross" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepositAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositAssets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_DepositAssets" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IndefiniteLivedTradeNames" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedTradeNames"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_IndefiniteLivedTradeNames" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsMiscellaneous" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsMiscellaneous"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsMiscellaneous" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsAbstract"/>
    <loc xlink:type="locator" xlink:label="LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeasedAssetsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasedAssetsLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsAbstract" xlink:to="LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable" xlink:to="us-gaap_LeaseContractualTermAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="OperatingLeaseMember" xlink:href="rgr-20241231.xsd#rgr_OperatingLeaseMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="OperatingLeaseMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable" xlink:to="us-gaap_OperatingLeasedAssetsLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="7.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_OperatingLeaseLiability" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableTradeCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableTradeCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_AccountsPayableTradeCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedIncomeTaxesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
<!-- [WMV6][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrae3Q64+IQnmb2USxqPYGfVI2tDrLdUwwGN7MqrQdhG+SCWYUh6Hp+V8bA/AEnE3cNkyoG64Ll76gCDgC4Z1W711EVHq0feHKsI1Gwu4Aj9R4Y6zDFYQe1j2qEiui+5O18VDe6OJPfndHv6hh1fIzram6R/SUPM2cdZx4eP1G4UZA/qczLkJ6S47W0oXkqD3/eDQlF7C1TVVk9UfX1E3ulYy35B1qazkv8KpgDVdhFbwzzo5+SO9/J6BL6OYLTP+X8=] CSR-->
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_OtherAccountsPayableAndAccruedLiabilities" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofOtherOperatingIncomeNetTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLossAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLossAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfOtherAssets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingIncomeLossAbstract" xlink:to="us-gaap_GainLossOnSaleOfOtherAssets" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxReconciliationDeductionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationDeductionsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxReconciliationDeductionsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxReconciliationDeductionsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxReconciliationDeductionsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxReconciliationDeductionsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxReconciliationDeductionsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNetAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInventory"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsInventory" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsOther" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:to="us-gaap_DeferredTaxAssetsNet" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesOther" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLossAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:to="us-gaap_NetIncomeLossAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetIncomeLossAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfRepurchasedSharesOfItsCommonStockAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfTreasuryStockTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfTreasuryStockTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityClassOfTreasuryStockLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRepurchasedSharesOfItsCommonStockAbstract" xlink:to="us-gaap_ClassOfTreasuryStockTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardDateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardDateAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_AwardDateAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardDateDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardDateDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="us-gaap_AwardDateDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="JulyThreeToJulyThirtyMember" xlink:href="rgr-20241231.xsd#rgr_JulyThreeToJulyThirtyMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="JulyThreeToJulyThirtyMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="JulyThirtyoneToAugustTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_JulyThirtyoneToAugustTwentySevenMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="JulyThirtyoneToAugustTwentySevenMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="AugustTwentyEightToOctoberOneMember" xlink:href="rgr-20241231.xsd#rgr_AugustTwentyEightToOctoberOneMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="AugustTwentyEightToOctoberOneMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="OctoberTwoToOctoberTwentyNineMember" xlink:href="rgr-20241231.xsd#rgr_OctoberTwoToOctoberTwentyNineMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="OctoberTwoToOctoberTwentyNineMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="OctoberThirtyToNovemberTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_OctoberThirtyToNovemberTwentySevenMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="OctoberThirtyToNovemberTwentySevenMember" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="NovemberTwentySevenToDecemberThirtyOneMember" xlink:href="rgr-20241231.xsd#rgr_NovemberTwentySevenToDecemberThirtyOneMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="NovemberTwentySevenToDecemberThirtyOneMember" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="OctoberOneToOctoberTwentyEightMember" xlink:href="rgr-20241231.xsd#rgr_OctoberOneToOctoberTwentyEightMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="OctoberOneToOctoberTwentyEightMember" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="OctoberTwentyNineToNovemberTwentyFiveMember" xlink:href="rgr-20241231.xsd#rgr_OctoberTwentyNineToNovemberTwentyFiveMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="OctoberTwentyNineToNovemberTwentyFiveMember" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="NovemberTwentySixToDecemberThirtyOneMember" xlink:href="rgr-20241231.xsd#rgr_NovemberTwentySixToDecemberThirtyOneMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="NovemberTwentySixToDecemberThirtyOneMember" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="JanuaryOneToJanuaryTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_JanuaryOneToJanuaryTwentySevenMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="JanuaryOneToJanuaryTwentySevenMember" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="JanuaryTwentyEightToFebruaryTwentyFourMember" xlink:href="rgr-20241231.xsd#rgr_JanuaryTwentyEightToFebruaryTwentyFourMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="JanuaryTwentyEightToFebruaryTwentyFourMember" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="FebruaryTwentyFiveToMarchThirtyMember" xlink:href="rgr-20241231.xsd#rgr_FebruaryTwentyFiveToMarchThirtyMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="FebruaryTwentyFiveToMarchThirtyMember" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="MarchThirtyOneToAprilTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_MarchThirtyOneToAprilTwentySevenMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="MarchThirtyOneToAprilTwentySevenMember" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="AprilTwentyEightToMayTwentyFiveMember" xlink:href="rgr-20241231.xsd#rgr_AprilTwentyEightToMayTwentyFiveMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="AprilTwentyEightToMayTwentyFiveMember" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="MayTwentySixToJuneTwentyNineMember" xlink:href="rgr-20241231.xsd#rgr_MayTwentySixToJuneTwentyNineMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="MayTwentySixToJuneTwentyNineMember" order="15.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="JuneThirtyToJulyTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_JuneThirtyToJulyTwentySevenMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="JuneThirtyToJulyTwentySevenMember" order="16.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="JulyTwentyEightToAugustTwentyFourMember" xlink:href="rgr-20241231.xsd#rgr_JulyTwentyEightToAugustTwentyFourMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="JulyTwentyEightToAugustTwentyFourMember" order="17.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="AugustTwentyFiveToSeptemberTwentyEightMember" xlink:href="rgr-20241231.xsd#rgr_AugustTwentyFiveToSeptemberTwentyEightMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="AugustTwentyFiveToSeptemberTwentyEightMember" order="18.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="SeptemberTwentyNineToOctoberTwentySixMember" xlink:href="rgr-20241231.xsd#rgr_SeptemberTwentyNineToOctoberTwentySixMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="SeptemberTwentyNineToOctoberTwentySixMember" order="19.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="OctoberTwentySevenToNovemberTwentyThreeMember" xlink:href="rgr-20241231.xsd#rgr_OctoberTwentySevenToNovemberTwentyThreeMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="OctoberTwentySevenToNovemberTwentyThreeMember" order="20.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="NovemberTwentyThreeToDecemberThirtyOneMember" xlink:href="rgr-20241231.xsd#rgr_NovemberTwentyThreeToDecemberThirtyOneMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardDateAxis" xlink:to="NovemberTwentyThreeToDecemberThirtyOneMember" order="21.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfFourthQuarterEventsByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfFourthQuarterEventsTypeDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="us-gaap_EffectOfFourthQuarterEventsTypeDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="ThirdQuarter2022Member" xlink:href="rgr-20241231.xsd#rgr_ThirdQuarter2022Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="ThirdQuarter2022Member" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="FourthQuarter2022Member" xlink:href="rgr-20241231.xsd#rgr_FourthQuarter2022Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="FourthQuarter2022Member" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="FourthQuarter2023Member" xlink:href="rgr-20241231.xsd#rgr_FourthQuarter2023Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="FourthQuarter2023Member" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="FirstQuarter2024Member" xlink:href="rgr-20241231.xsd#rgr_FirstQuarter2024Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="FirstQuarter2024Member" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="SecondQuarter2024Member" xlink:href="rgr-20241231.xsd#rgr_SecondQuarter2024Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="SecondQuarter2024Member" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ThirdQuarter2024Member" xlink:href="rgr-20241231.xsd#rgr_ThirdQuarter2024Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="ThirdQuarter2024Member" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="FourthQuarter2024Member" xlink:href="rgr-20241231.xsd#rgr_FourthQuarter2024Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="FourthQuarter2024Member" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_EquityClassOfTreasuryStockLineItems" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockSharesAcquired" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockSharesAcquired"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_TreasuryStockSharesAcquired" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfOperatingSegmentFinancialInformationAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingInformationLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfOperatingSegmentFinancialInformationAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="FirearmsMember" xlink:href="rgr-20241231.xsd#rgr_FirearmsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="FirearmsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="CastingsUnaffiliatedMember" xlink:href="rgr-20241231.xsd#rgr_CastingsUnaffiliatedMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="CastingsUnaffiliatedMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="IntersegmentMember" xlink:href="rgr-20241231.xsd#rgr_IntersegmentMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="IntersegmentMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="CastingsMember" xlink:href="rgr-20241231.xsd#rgr_CastingsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="CastingsMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="EliminationsMember" xlink:href="rgr-20241231.xsd#rgr_EliminationsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="EliminationsMember" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="CorporatesMember" xlink:href="rgr-20241231.xsd#rgr_CorporatesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="CorporatesMember" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_ProductOrServiceAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="CastingsMember_0" xlink:href="rgr-20241231.xsd#rgr_CastingsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="CastingsMember_0" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_SegmentReportingInformationLineItems" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenuesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_RevenuesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_Revenues" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="CastingsAbstract" xlink:href="rgr-20241231.xsd#rgr_CastingsAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesAbstract" xlink:to="CastingsAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CastingsAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="CostsOfGoodsSoldAbstract" xlink:href="rgr-20241231.xsd#rgr_CostsOfGoodsSoldAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="CostsOfGoodsSoldAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CostsOfGoodsSoldAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="CastingsAbstract0" xlink:href="rgr-20241231.xsd#rgr_CastingsAbstract0"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CostsOfGoodsSoldAbstract" xlink:to="CastingsAbstract0" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="GrossProfitLossAbstract" xlink:href="rgr-20241231.xsd#rgr_GrossProfitLossAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="GrossProfitLossAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="GrossProfitLossAbstract" xlink:to="us-gaap_GrossProfit" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLossAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLossAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_OperatingIncomeLossAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingIncomeLossAbstract" xlink:to="us-gaap_OperatingIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_OtherAssetsAbstract" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="us-gaap_Assets" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Goodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_Goodwill" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_DepreciationAbstract" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DepreciationAbstract" xlink:to="us-gaap_Depreciation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentExpenditureAdditionToLongLivedAssets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofQuarterlyFinancialInformationTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfQuarterlyFinancialInformationAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfQuarterlyFinancialInformationAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_Revenues" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_GrossProfit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_NetIncomeLoss" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfRollForwardForProductLiabilityReserveAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductWarrantyLiabilityTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyLiabilityTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyLiabilityLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRollForwardForProductLiabilityReserveAbstract" xlink:to="us-gaap_ProductWarrantyLiabilityTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="srt_ProductOrServiceAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="ProductLiabilityReserveMemberMember" xlink:href="rgr-20241231.xsd#rgr_ProductLiabilityReserveMemberMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="ProductLiabilityReserveMemberMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="us-gaap_ProductWarrantyLiabilityLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ValuationAllowancesAndReservesLegalFees" xlink:href="rgr-20241231.xsd#rgr_ValuationAllowancesAndReservesLegalFees"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="ValuationAllowancesAndReservesLegalFees" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ValuationAllowancesAndReservesSettlements" xlink:href="rgr-20241231.xsd#rgr_ValuationAllowancesAndReservesSettlements"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="ValuationAllowancesAndReservesSettlements" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_0" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ScheduleOfProductLiabilityExpenseAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfProductLiabilityExpenseAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityContingencyTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityContingencyLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfProductLiabilityExpenseAbstract" xlink:to="us-gaap_ProductLiabilityContingencyTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductLiabilityContingencyTable" xlink:to="srt_ProductOrServiceAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="AccruedLegalExpenseMember" xlink:href="rgr-20241231.xsd#rgr_AccruedLegalExpenseMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="AccruedLegalExpenseMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="InsurancePremiumExpenseMember" xlink:href="rgr-20241231.xsd#rgr_InsurancePremiumExpenseMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="InsurancePremiumExpenseMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="TotalProductLiabilityExpenseMember" xlink:href="rgr-20241231.xsd#rgr_TotalProductLiabilityExpenseMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="TotalProductLiabilityExpenseMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductLiabilityContingencyTable" xlink:to="us-gaap_ProductLiabilityContingencyLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityAccrualPeriodExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ProductLiabilityAccrualPeriodExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualComponentAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityAccrualComponentAmount"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ProductLiabilityAccrualComponentAmount" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract"/>
    <loc xlink:type="locator" xlink:label="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable" xlink:href="rgr-20241231.xsd#rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable"/>
    <loc xlink:type="locator" xlink:label="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable" xlink:to="us-gaap_AwardTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_OtherAssetsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="TradeAccountsPayableAndAccruedExpensesMember" xlink:href="rgr-20241231.xsd#rgr_TradeAccountsPayableAndAccruedExpensesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="TradeAccountsPayableAndAccruedExpensesMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="LeaseLiabilitiesMember" xlink:href="rgr-20241231.xsd#rgr_LeaseLiabilitiesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="LeaseLiabilitiesMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable" xlink:to="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_OperatingLeaseLiability" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeasePayments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_OperatingLeasePayments" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShortTermLeasePayments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermLeasePayments"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_ShortTermLeasePayments" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementStrategyAndGovernanceTable" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementStrategyAndGovernanceTable"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract" xlink:to="cyd_CybersecurityRiskManagementStrategyAndGovernanceTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceTable" xlink:to="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems" xlink:to="cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems" xlink:to="cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementProcessesIntegratedFlag" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementProcessesIntegratedFlag"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems" xlink:to="cyd_CybersecurityRiskManagementProcessesIntegratedFlag" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementThirdPartyEngagedFlag" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementThirdPartyEngagedFlag"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems" xlink:to="cyd_CybersecurityRiskManagementThirdPartyEngagedFlag" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems" xlink:to="cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems" xlink:to="cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems" xlink:to="cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems" xlink:to="cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems" xlink:to="cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems" xlink:to="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="SummaryofSignificantAccountingPoliciesDetailsTable" xlink:href="rgr-20241231.xsd#rgr_SummaryofSignificantAccountingPoliciesDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ChangeInAccountingEstimateLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ChangeInAccountingEstimateLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="SummaryofSignificantAccountingPoliciesDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="FirearmsMember" xlink:href="rgr-20241231.xsd#rgr_FirearmsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="FirearmsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="ExportSalesMember" xlink:href="rgr-20241231.xsd#rgr_ExportSalesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="ExportSalesMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="CastingsSalesMember" xlink:href="rgr-20241231.xsd#rgr_CastingsSalesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="CastingsSalesMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_SalesMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_BuildingMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_MachineryAndEquipmentMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ToolsDiesAndMoldsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ToolsDiesAndMoldsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_ToolsDiesAndMoldsMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_ChangeInAccountingEstimateLineItems" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationEffectOnEarningsPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationEffectOnEarningsPerShare"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="us-gaap_SharebasedCompensationEffectOnEarningsPerShare" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="BadDebtExpenseInTerm" xlink:href="rgr-20241231.xsd#rgr_BadDebtExpenseInTerm"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="BadDebtExpenseInTerm" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdvertisingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="us-gaap_AdvertisingExpense" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ShippingCosts" xlink:href="rgr-20241231.xsd#rgr_ShippingCosts"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="ShippingCosts" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="us-gaap_ResearchAndDevelopmentExpense" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="NetIncreaseInFirearmsSales" xlink:href="rgr-20241231.xsd#rgr_NetIncreaseInFirearmsSales"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="NetIncreaseInFirearmsSales" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="DeferredContractRevenueLiability" xlink:href="rgr-20241231.xsd#rgr_DeferredContractRevenueLiability"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="DeferredContractRevenueLiability" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="DeferredOfRevenue" xlink:href="rgr-20241231.xsd#rgr_DeferredOfRevenue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="DeferredOfRevenue" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="NetDecreaseInFirearmsSales" xlink:href="rgr-20241231.xsd#rgr_NetDecreaseInFirearmsSales"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="NetDecreaseInFirearmsSales" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/TradeReceivablesNetDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetAbstract"/>
    <loc xlink:type="locator" xlink:label="TradeReceivablesNetDetailsTable" xlink:href="rgr-20241231.xsd#rgr_TradeReceivablesNetDetailsTable"/>
    <loc xlink:type="locator" xlink:label="TradeReceivablesNetLineItems" xlink:href="rgr-20241231.xsd#rgr_TradeReceivablesNetLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="TradeReceivablesNetDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TradeReceivablesNetDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TradeReceivablesNetDetailsTable" xlink:to="srt_MajorCustomersAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="CustomerOneMember" xlink:href="rgr-20241231.xsd#rgr_CustomerOneMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="CustomerOneMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="CustomerTwoMember" xlink:href="rgr-20241231.xsd#rgr_CustomerTwoMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="CustomerTwoMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="CustomerThreeMember" xlink:href="rgr-20241231.xsd#rgr_CustomerThreeMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="CustomerThreeMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="CustomerFourMember" xlink:href="rgr-20241231.xsd#rgr_CustomerFourMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="CustomerFourMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TradeReceivablesNetDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_AccountsReceivableMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TradeReceivablesNetDetailsTable" xlink:to="TradeReceivablesNetLineItems" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TradeReceivablesNetLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/PropertyPlantandEquipmentDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_Depreciation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/OtherAssetsDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="OtherAssetsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_OtherAssetsDetailsTable"/>
    <loc xlink:type="locator" xlink:label="OtherAssetsDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_OtherAssetsDetailsLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="OtherAssetsDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsDetailsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="TradeNameMember" xlink:href="rgr-20241231.xsd#rgr_TradeNameMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="TradeNameMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerRelationshipsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsDetailsTable" xlink:to="OtherAssetsDetailsLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsDetailsLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsDetailsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsDetailsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsDetailsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsDetailsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsDetailsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OtherAssetsDetailsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/LeasedAssetsDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/AccruedDividendsDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_TableTextBlockSupplementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract"/>
    <loc xlink:type="locator" xlink:label="AccruedDividendsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_AccruedDividendsDetailsTable"/>
    <loc xlink:type="locator" xlink:label="AccruedDividendsDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_AccruedDividendsDetailsLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlockSupplementAbstract" xlink:to="AccruedDividendsDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedDividendsDetailsTable" xlink:to="us-gaap_DividendsAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DividendsAxis" xlink:to="us-gaap_DividendsDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="S2022Q4DividendsMember" xlink:href="rgr-20241231.xsd#rgr_S2022Q4DividendsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DividendsAxis" xlink:to="S2022Q4DividendsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedDividendsDetailsTable" xlink:to="AccruedDividendsDetailsLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableAmountPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableAmountPerShare"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedDividendsDetailsLineItems" xlink:to="us-gaap_DividendsPayableAmountPerShare" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedDividendsDetailsLineItems" xlink:to="us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableCurrentAndNoncurrent"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedDividendsDetailsLineItems" xlink:to="us-gaap_DividendsPayableCurrentAndNoncurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendPayableDateToBePaidDayMonthAndYear" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccruedDividendsDetailsLineItems" xlink:to="us-gaap_DividendPayableDateToBePaidDayMonthAndYear" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/LineofCreditDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <loc xlink:type="locator" xlink:label="LineofCreditDetailsTable" xlink:href="rgr-20241231.xsd#rgr_LineofCreditDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="LineofCreditDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineofCreditDetailsTable" xlink:to="us-gaap_LineOfCreditFacilityLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityExpirationDate1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/EmployeeBenefitPlansDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanAdministrativeExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanAdministrativeExpenses"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_DefinedContributionPlanAdministrativeExpenses" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/IncomeTaxesDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="IncomeTaxesDetailsTable" xlink:href="rgr-20241231.xsd#rgr_IncomeTaxesDetailsTable"/>
    <loc xlink:type="locator" xlink:label="IncomeTaxesDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_IncomeTaxesDetailsLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="IncomeTaxesDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_StatementScenarioAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxesDetailsTable" xlink:to="srt_StatementScenarioAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioForecastMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioForecastMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioForecastMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxesDetailsTable" xlink:to="IncomeTaxesDetailsLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxesDetailsLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="CapitalizedAndAmortizedOverForIncomeTaxPurposes" xlink:href="rgr-20241231.xsd#rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxesDetailsLineItems" xlink:to="CapitalizedAndAmortizedOverForIncomeTaxPurposes" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxesDetailsLineItems" xlink:to="us-gaap_IncomeTaxesPaidNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/StockRepurchasesDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockValueAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TreasuryStockValueAbstract" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/CompensationPlansDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <loc xlink:type="locator" xlink:label="CompensationPlansDetailsTable" xlink:href="rgr-20241231.xsd#rgr_CompensationPlansDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationAbstract" xlink:to="CompensationPlansDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationPlansDetailsTable" xlink:to="us-gaap_PlanNameAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="StockIncentivePlan2017Member" xlink:href="rgr-20241231.xsd#rgr_StockIncentivePlan2017Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="StockIncentivePlan2017Member" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="StockIncentivePlan2023Member" xlink:href="rgr-20241231.xsd#rgr_StockIncentivePlan2023Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="StockIncentivePlan2023Member" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationPlansDetailsTable" xlink:to="srt_TitleOfIndividualAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="srt_DirectorMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_DirectorMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_DirectorMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_VestingAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VestingAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationPlansDetailsTable" xlink:to="us-gaap_VestingAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_VestingDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VestingDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="VestInJune2025Member" xlink:href="rgr-20241231.xsd#rgr_VestInJune2025Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="VestInJune2025Member" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="VestInJune2027Member" xlink:href="rgr-20241231.xsd#rgr_VestInJune2027Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="VestInJune2027Member" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="VestInJune2024Member" xlink:href="rgr-20241231.xsd#rgr_VestInJune2024Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="VestInJune2024Member" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="VestInJune2026Member" xlink:href="rgr-20241231.xsd#rgr_VestInJune2026Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="VestInJune2026Member" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="VestInMay2023Member" xlink:href="rgr-20241231.xsd#rgr_VestInMay2023Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="VestInMay2023Member" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="VestingInMay2025Member" xlink:href="rgr-20241231.xsd#rgr_VestingInMay2025Member"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis" xlink:to="VestingInMay2025Member" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationPlansDetailsTable" xlink:to="srt_RangeAxis" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0.0"/>
    <loc xlink:type="locator" xlink:label="srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationPlansDetailsTable" xlink:to="us-gaap_AwardTypeAxis" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="DeferredStockMember" xlink:href="rgr-20241231.xsd#rgr_DeferredStockMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="DeferredStockMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationPlansDetailsTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedStockExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_RestrictedStockExpense" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="RecognizedCostsOfRestrictedStockUnits" xlink:href="rgr-20241231.xsd#rgr_RecognizedCostsOfRestrictedStockUnits"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="RecognizedCostsOfRestrictedStockUnits" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="UnrecognizedCompensationCost" xlink:href="rgr-20241231.xsd#rgr_UnrecognizedCompensationCost"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="UnrecognizedCompensationCost" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/OperatingSegmentInformationDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract"/>
    <loc xlink:type="locator" xlink:label="OperatingSegmentInformationDetailsTable" xlink:href="rgr-20241231.xsd#rgr_OperatingSegmentInformationDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract" xlink:to="OperatingSegmentInformationDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingSegmentInformationDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_StatementGeographicalAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingSegmentInformationDetailsTable" xlink:to="srt_StatementGeographicalAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_SegmentGeographicalDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="country_US" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_US" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingSegmentInformationDetailsTable" xlink:to="srt_MajorCustomersAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="LipseysMember" xlink:href="rgr-20241231.xsd#rgr_LipseysMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="LipseysMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="SportsSouthMember" xlink:href="rgr-20241231.xsd#rgr_SportsSouthMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="SportsSouthMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="DavidsonsMember" xlink:href="rgr-20241231.xsd#rgr_DavidsonsMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="DavidsonsMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingSegmentInformationDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesRevenueNetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_SalesRevenueNetMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingSegmentInformationDetailsTable" xlink:to="us-gaap_ConcentrationRiskLineItems" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NumberOfReportableSegments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_NumberOfReportableSegments" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/RelatedPartyTransactionsDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsAbstract"/>
    <loc xlink:type="locator" xlink:label="RelatedPartyTransactionsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_RelatedPartyTransactionsDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="RelatedPartyTransactionsDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsDetailsTable" xlink:to="us-gaap_RelatedPartyTransactionAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="NationalRifleAssociationMember" xlink:href="rgr-20241231.xsd#rgr_NationalRifleAssociationMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="NationalRifleAssociationMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="NationalShootingSportsFoundationMember" xlink:href="rgr-20241231.xsd#rgr_NationalShootingSportsFoundationMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="NationalShootingSportsFoundationMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsDetailsTable" xlink:to="us-gaap_RelatedPartyTransactionLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionAmountsOfTransaction" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/ContingentLiabilitiesDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAbstract"/>
    <loc xlink:type="locator" xlink:label="ContingentLiabilitiesDetailsTable" xlink:href="rgr-20241231.xsd#rgr_ContingentLiabilitiesDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingenciesLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingenciesLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="ContingentLiabilitiesDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContingentLiabilitiesDetailsTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyNatureDomain"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" order="0.0"/>
    <loc xlink:type="locator" xlink:label="TrademarkLitigationMember" xlink:href="rgr-20241231.xsd#rgr_TrademarkLitigationMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="TrademarkLitigationMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="TrademarkLawsuitMember" xlink:href="rgr-20241231.xsd#rgr_TrademarkLawsuitMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="TrademarkLawsuitMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="TraditionalProductLiabilityLawsuitMember" xlink:href="rgr-20241231.xsd#rgr_TraditionalProductLiabilityLawsuitMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="TraditionalProductLiabilityLawsuitMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="MunicipalLawsuitMember" xlink:href="rgr-20241231.xsd#rgr_MunicipalLawsuitMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="MunicipalLawsuitMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="UnfairTradePracticesMember" xlink:href="rgr-20241231.xsd#rgr_UnfairTradePracticesMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="UnfairTradePracticesMember" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="NegligenceLawsuitMember" xlink:href="rgr-20241231.xsd#rgr_NegligenceLawsuitMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="NegligenceLawsuitMember" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContingentLiabilitiesDetailsTable" xlink:to="us-gaap_LossContingenciesLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" xlink:href="rgr-20241231.xsd#rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" xlink:href="rgr-20241231.xsd#rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyDamagesSoughtValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyDamagesSoughtValue"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingencyDamagesSoughtValue" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyNewClaimsFiledNumber"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyClaimsSettledNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyClaimsSettledNumber"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingencyClaimsSettledNumber" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyClaimsDismissedNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyClaimsDismissedNumber"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingencyClaimsDismissedNumber" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="LossContingencyNumberOfLawsuits" xlink:href="rgr-20241231.xsd#rgr_LossContingencyNumberOfLawsuits"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="LossContingencyNumberOfLawsuits" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityAccrualPeriodExpense"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_ProductLiabilityAccrualPeriodExpense" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://www.ruger.com/role/SubsequentEventsDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract"/>
    <loc xlink:type="locator" xlink:label="SubsequentEventsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_SubsequentEventsDetailsTable"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="SubsequentEventsDetailsTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SubsequentEventsDetailsTable" xlink:to="us-gaap_SubsequentEventTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SubsequentEventsDetailsTable" xlink:to="us-gaap_SubsequentEventLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableAmountPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableAmountPerShare"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_DividendsPayableAmountPerShare" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <loc xlink:type="locator" xlink:label="DateOfRecord" xlink:href="rgr-20241231.xsd#rgr_DateOfRecord"/>
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="DateOfRecord" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </presentationLink>
  <presentationLink xlink:role="http://xbrl.sec.gov/dei/role/document/Cover" xlink:type="extended"/>
  <presentationLink xlink:role="http://xbrl.sec.gov/dei/role/document/AuditInformation" xlink:type="extended"/>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>11
<FILENAME>rgr-20241231_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Wed Feb 19 03:12:50 UTC 2025 -->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" 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">
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel"/>
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
  <roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel"/>
  <labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">Net inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Total Current Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Net property, plant and equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Assets_lbl0" xml:lang="en-US">Identifiable Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Total Current Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementClassOfStockAxis_lbl" xml:lang="en-US">Class of Stock [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Total Stockholders&#8217; Equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_lbl0" xml:lang="en-US">Balance</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_lbl1" xml:lang="en-US">Balance</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Total Liabilities and Stockholders&#8217; Equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US">Product and Service [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross profit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GrossProfit_lbl0" xml:lang="en-US">Gross Profit (Loss)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GrossProfit_lbl1" xml:lang="en-US">Gross profit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US">Total operating expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Operating income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl0" xml:lang="en-US">Operating Income (Loss)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US">Total other income, net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income before income taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl0" xml:lang="en-US">Income (Loss) Before Income Taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net income and comprehensive income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_lbl0" xml:lang="en-US">Net income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:label="us-gaap_NetIncomeLoss_lbl1" xml:lang="en-US">Net income (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Equity Components [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Cash provided by operating activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Cash (used for) provided by investing activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Cash used for financing activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xml:lang="en-US">(Decrease) increase in cash and cash equivalents</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash and cash equivalents at beginning of year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl0" xml:lang="en-US">Cash and cash equivalents at end of year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US">Significant Accounting Policies [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xml:lang="en-US">Revenue Recognition and Contracts with Customers [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xml:lang="en-US">Contract liabilities with customers at beginning of period</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ContractWithCustomerLiability_lbl0" xml:lang="en-US">Contract liabilities with customers at end of period</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetAbstract_lbl" xml:lang="en-US">Trade Receivables, Net [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_AccountsReceivableNetAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfTradeReceivablesAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfTradeReceivablesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfTradeReceivablesAbstract_lbl" xml:lang="en-US">Schedule of Trade Receivables [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfTradeReceivablesAbstract" xlink:to="rgr_ScheduleOfTradeReceivablesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Total trade receivables</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl0" xml:lang="en-US">Trade receivables, net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xml:lang="en-US">Inventories [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfInventoriesAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfInventoriesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfInventoriesAbstract_lbl" xml:lang="en-US">Schedule of Inventories [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfInventoriesAbstract" xlink:to="rgr_ScheduleOfInventoriesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryGross"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryGross_lbl" xml:lang="en-US">Gross inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryGross_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryGross_lbl0" xml:lang="en-US">Gross inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryGross_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsAbstract_lbl" xml:lang="en-US">Other Assets [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsAbstract_lbl0" xml:lang="en-US">Identifiable Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsAbstract_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US">Other assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl0" xml:lang="en-US">Other assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeasesAbstract_lbl" xml:lang="en-US">Leased Assets [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeasesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Total undiscounted future minimum lease payments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseContractualTermAxis_lbl" xml:lang="en-US">Lease Contractual Term [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract_lbl" xml:lang="en-US">Trade Accounts Payable and Accrued Expenses [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract_lbl" xml:lang="en-US">Schedule of Trade Accounts Payable and Accrued Expenses [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Trade accounts payable and accrued expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl0" xml:lang="en-US">Trade accounts payable and accrued expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TableTextBlockSupplementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TableTextBlockSupplementAbstract_lbl" xml:lang="en-US">Accrued Dividends [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TableTextBlockSupplementAbstract" xlink:to="us-gaap_TableTextBlockSupplementAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityAbstract_lbl" xml:lang="en-US">Line of Credit [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="us-gaap_LineOfCreditFacilityAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xml:lang="en-US">Employee Benefit Plans [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US">Other Operating Income, Net [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingExpensesAbstract_lbl0" xml:lang="en-US">Operating Expenses (Income):</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLossAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLossAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLossAbstract_lbl" xml:lang="en-US">Schedule of Other Operating Income, Net [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLossAbstract" xlink:to="us-gaap_OperatingIncomeLossAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingIncomeLossAbstract_lbl0" xml:lang="en-US">Operating Income (Loss)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLossAbstract" xlink:to="us-gaap_OperatingIncomeLossAbstract_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">Income Taxes [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract_lbl" xml:lang="en-US">Schedule of Federal and State Income Tax Provision [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:to="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxReconciliationDeductionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationDeductionsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationDeductionsAbstract_lbl" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationDeductionsAbstract" xlink:to="us-gaap_IncomeTaxReconciliationDeductionsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US">Effective income tax rate</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl0" xml:lang="en-US">Effective tax rate</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Total deferred tax assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Total deferred tax liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US">Net deferred tax assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Earnings Per Share [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted average number of common shares outstanding &#8211; Diluted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl0" xml:lang="en-US">Weighted average number of common shares outstanding - Diluted (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockValueAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValueAbstract_lbl" xml:lang="en-US">Stock Repurchases [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValueAbstract" xlink:to="us-gaap_TreasuryStockValueAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardDateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardDateAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardDateAxis_lbl" xml:lang="en-US">Award Date [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardDateAxis" xlink:to="us-gaap_AwardDateAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfFourthQuarterEventsByTypeAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfFourthQuarterEventsByTypeAxis_lbl" xml:lang="en-US">Effect of Fourth Quarter Event Type [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="us-gaap_EffectOfFourthQuarterEventsByTypeAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationAbstract_lbl" xml:lang="en-US">Compensation Plans [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAbstract" xlink:to="us-gaap_ShareBasedCompensationAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract_lbl" xml:lang="en-US">Operating Segment Information [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract" xlink:to="us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US">Segments [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl" xml:lang="en-US">Quarterly Results of Operations (Unaudited) [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfQuarterlyFinancialInformationAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfQuarterlyFinancialInformationAbstract_lbl" xml:lang="en-US">Schedule of Quarterly Financial Information [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="rgr_ScheduleOfQuarterlyFinancialInformationAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl" xml:lang="en-US">Related Party Transactions [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyAbstract_lbl" xml:lang="en-US">Contingent Liabilities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_LossContingencyAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl" xml:lang="en-US">Balance Beginning of Year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl0" xml:lang="en-US">Balance End of Year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DerivativeInstrumentDetailAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentDetailAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentDetailAbstract_lbl" xml:lang="en-US">Financial Instruments [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentDetailAbstract" xlink:to="us-gaap_DerivativeInstrumentDetailAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xml:lang="en-US">Subsequent Events [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_JohnACosentinoJrMember" xlink:href="rgr-20241231.xsd#rgr_JohnACosentinoJrMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_JohnACosentinoJrMember_lbl" xml:lang="en-US">John A. Cosentino, Jr [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JohnACosentinoJrMember" xlink:to="rgr_JohnACosentinoJrMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShortTermInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermInvestments"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShortTermInvestments_lbl" xml:lang="en-US">Short-term investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US">Prepaid expenses and other current assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US">Property, plant and equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred income taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">Liabilities and Stockholders&#8217; Equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Contract liabilities with customers (Note 2)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityCurrent" xlink:href="rgr-20241231.xsd#rgr_ProductLiabilityCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ProductLiabilityCurrent_lbl" xml:lang="en-US">Product liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityCurrent" xlink:to="rgr_ProductLiabilityCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_lbl" xml:lang="en-US">Employee compensation and benefits</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WorkersCompensationLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WorkersCompensationLiabilityCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WorkersCompensationLiabilityCurrent_lbl" xml:lang="en-US">Workers&#8217; compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WorkersCompensationLiabilityCurrent" xlink:to="us-gaap_WorkersCompensationLiabilityCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Lease liability (Note 7)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl0" xml:lang="en-US">Operating Lease, Liability, Noncurrent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_EmployeeCompensation" xlink:href="rgr-20241231.xsd#rgr_EmployeeCompensation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_EmployeeCompensation_lbl" xml:lang="en-US">Employee compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_EmployeeCompensation" xlink:to="rgr_EmployeeCompensation_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityAccrualNoncurrent" xlink:href="rgr-20241231.xsd#rgr_ProductLiabilityAccrualNoncurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ProductLiabilityAccrualNoncurrent_lbl" xml:lang="en-US">Product liability accrual</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityAccrualNoncurrent" xlink:to="rgr_ProductLiabilityAccrualNoncurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Contingent liabilities (Note 20)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Stockholders&#8217; Equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CommonStockNonVotingParValue1Abstract" xlink:href="rgr-20241231.xsd#rgr_CommonStockNonVotingParValue1Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CommonStockNonVotingParValue1Abstract_lbl" xml:lang="en-US">Common stock, non-voting, par value $1:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CommonStockNonVotingParValue1Abstract" xlink:to="rgr_CommonStockNonVotingParValue1Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common Stock, Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, shares authorized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, shares issued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common stock, shares outstanding</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US">Additional paid-in capital</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained earnings</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Treasury stock, shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Total net sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Revenues_lbl0" xml:lang="en-US">Net Sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US">Cost of products sold</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl0" xml:lang="en-US">Costs of Goods Sold</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SellingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SellingExpense_lbl" xml:lang="en-US">Selling</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingExpense" xlink:to="us-gaap_SellingExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US">General and administrative</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract_lbl" xml:lang="en-US">Other income:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_OtherIncomeAndExpensesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RoyaltyIncomeNonoperating" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyIncomeNonoperating"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RoyaltyIncomeNonoperating_lbl" xml:lang="en-US">Royalty income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RoyaltyIncomeNonoperating" xlink:to="us-gaap_RoyaltyIncomeNonoperating_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeInterest"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentIncomeInterest_lbl" xml:lang="en-US">Interest income</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeInterest" xlink:to="us-gaap_InvestmentIncomeInterest_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US">Other income, net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Basic earnings per share (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Diluted earnings per share (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted average number of common shares outstanding - Basic (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl0" xml:lang="en-US">Weighted average number of common shares outstanding &#8211; Basic</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockDividendsPerShareDeclared"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xml:lang="en-US">Cash dividends per share (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsPerShareDeclared" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Stock-based compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl" xml:lang="en-US">Vesting of RSU&#8217;s</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xml:lang="en-US">Common stock issued &#8211; compensation plans</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US">Repurchase of common stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Operating Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net income to cash provided by operating activities:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock-based compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredOtherTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Changes in operating assets and liabilities:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Trade accounts payable and accrued expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Contract liability with customers</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xml:lang="en-US">Employee compensation and benefits</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_IncreaseDecreaseInProductLiability" xlink:href="rgr-20241231.xsd#rgr_IncreaseDecreaseInProductLiability"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_IncreaseDecreaseInProductLiability_lbl" xml:lang="en-US">Product liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IncreaseDecreaseInProductLiability" xlink:to="rgr_IncreaseDecreaseInProductLiability_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xml:lang="en-US">Income taxes receivable/payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Investing Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_lbl" xml:lang="en-US">Proceeds from maturity of short-term investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:to="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfProductiveAssets"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleOfProductiveAssets_lbl" xml:lang="en-US">Net proceeds from sale of assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:to="us-gaap_ProceedsFromSaleOfProductiveAssets_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Financing Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryLIFOReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLIFOReserve"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InventoryLIFOReserve_lbl" xml:lang="en-US">Less LIFO reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryLIFOReserve" xlink:to="us-gaap_InventoryLIFOReserve_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_InventoryLIFOReserve_lbl0" xml:lang="en-US">Less: LIFO reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryLIFOReserve" xlink:to="us-gaap_InventoryLIFOReserve_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryValuationReserves"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InventoryValuationReserves_lbl" xml:lang="en-US">Less excess and obsolescence reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_InventoryValuationReserves_lbl0" xml:lang="en-US">Less: excess and obsolescence reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US">Less allowances for depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl0" xml:lang="en-US">Less allowances for depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US">Less: Treasury stock &#8211; at cost 2024 &#8211; 7,677,159 shares 2023 &#8211; 6,978,400 shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherOperatingIncomeExpenseNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xml:lang="en-US">Other operating income, net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InterestExpenseNonoperating" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestExpenseNonoperating_lbl" xml:lang="en-US">Interest expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseNonoperating" xlink:to="us-gaap_InterestExpenseNonoperating_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsCommonStock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DividendsCommonStock_lbl" xml:lang="en-US">Dividends paid</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsCommonStock" xlink:to="us-gaap_DividendsCommonStock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_DividendsCommonStockUnpaid" xlink:href="rgr-20241231.xsd#rgr_DividendsCommonStockUnpaid"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="rgr_DividendsCommonStockUnpaid_lbl" xml:lang="en-US">Unpaid dividends accrued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DividendsCommonStockUnpaid" xlink:to="rgr_DividendsCommonStockUnpaid_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US">Repurchase of shares of common stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ExcessAndObsolescenceInventoryReserve" xlink:href="rgr-20241231.xsd#rgr_ExcessAndObsolescenceInventoryReserve"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="rgr_ExcessAndObsolescenceInventoryReserve_lbl" xml:lang="en-US">Excess and obsolescence inventory reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ExcessAndObsolescenceInventoryReserve" xlink:to="rgr_ExcessAndObsolescenceInventoryReserve_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US">Gain on sale of assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Trade receivables</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">Inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US">Prepaid expenses, other assets and other liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Property, plant and equipment additions</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquireInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireInvestments_lbl" xml:lang="en-US">Purchases of short-term investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsOfDividends" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividends"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDividends_lbl" xml:lang="en-US">Dividends paid</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividends" xlink:to="us-gaap_PaymentsOfDividends_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US">Repurchase of common stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US">Payment of employee withholding tax related to share-based compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonvotingCommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonvotingCommonStockMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NonvotingCommonStockMember_lbl" xml:lang="en-US">Nonvoting Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonvotingCommonStockMember" xlink:to="us-gaap_NonvotingCommonStockMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FirearmsMember" xlink:href="rgr-20241231.xsd#rgr_FirearmsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FirearmsMember_lbl" xml:lang="en-US">Net firearms sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FirearmsMember" xlink:to="rgr_FirearmsMember_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="rgr_FirearmsMember_lbl0" xml:lang="en-US">Firearms [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FirearmsMember" xlink:to="rgr_FirearmsMember_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_UnaffiliatedCastingsMember" xlink:href="rgr-20241231.xsd#rgr_UnaffiliatedCastingsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnaffiliatedCastingsMember_lbl" xml:lang="en-US">Net castings sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnaffiliatedCastingsMember" xlink:to="rgr_UnaffiliatedCastingsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US">Treasury Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Summary of Significant Accounting Policies</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US">Revenue Recognition and Contracts with Customers</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US">Schedule of Revenue Recognized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredRevenueAdditions" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueAdditions"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredRevenueAdditions_lbl" xml:lang="en-US">Revenue deferred</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueAdditions" xlink:to="us-gaap_DeferredRevenueAdditions_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl" xml:lang="en-US">Trade Receivables, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US">Schedule of Trade Receivables</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US">Trade receivables</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGrossCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US">Inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US">Schedule of Inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNetAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryNetAbstract_lbl" xml:lang="en-US">Inventory at FIFO</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNetAbstract" xlink:to="us-gaap_InventoryNetAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryFinishedGoods" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xml:lang="en-US">Finished goods</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl" xml:lang="en-US">Materials and products in process</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:to="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">Property, Plant and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Schedule of Property, Plant and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsDisclosureTextBlock_lbl" xml:lang="en-US">Other Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsDisclosureTextBlock" xlink:to="us-gaap_OtherAssetsDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfOtherAssetsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfOtherAssetsTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfOtherAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Other Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfOtherAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfOtherAssetsTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedPatentsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedPatentsGross"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedPatentsGross_lbl" xml:lang="en-US">Patents, at cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedPatentsGross" xlink:to="us-gaap_FiniteLivedPatentsGross_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepositAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositAssets"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepositAssets_lbl" xml:lang="en-US">Deposits on capital items</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositAssets" xlink:to="us-gaap_DepositAssets_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IndefiniteLivedTradeNames" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedTradeNames"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IndefiniteLivedTradeNames_lbl" xml:lang="en-US">Marlin trade name, at cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedTradeNames" xlink:to="us-gaap_IndefiniteLivedTradeNames_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsMiscellaneous" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsMiscellaneous"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsMiscellaneous_lbl" xml:lang="en-US">Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMiscellaneous" xlink:to="us-gaap_OtherAssetsMiscellaneous_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">LEASED ASSETS</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xml:lang="en-US">Schedule of Right-of-Use Assets and Related Lease Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Schedule of Operating Lease Liabilities Future Minimum Lease Payments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2025</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2026</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">2027</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">2028</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US">2029</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US">Thereafter</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Total operating lease liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl0" xml:lang="en-US">Operating Lease, Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US">Trade Accounts Payable and Accrued Expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of Trade Accounts Payable and Accrued Expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableTradeCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableTradeCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableTradeCurrent_lbl" xml:lang="en-US">Trade accounts payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableTradeCurrent" xlink:to="us-gaap_AccountsPayableTradeCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedIncomeTaxesCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_lbl" xml:lang="en-US">Federal excise taxes payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedIncomeTaxesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Accrued other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_OtherAccountsPayableAndAccruedLiabilities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Accrued Dividends</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US">Line of Credit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US">Employee Benefit Plans</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_lbl" xml:lang="en-US">Other Operating Income, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:to="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_lbl" xml:lang="en-US">Schedule of Other Operating Income, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" xlink:to="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfOtherAssets"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GainLossOnSaleOfOtherAssets_lbl" xml:lang="en-US">Gain on sale of operating assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfOtherAssets" xlink:to="us-gaap_GainLossOnSaleOfOtherAssets_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">Income Taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FederalIncomeTaxNoteTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FederalIncomeTaxNoteTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FederalIncomeTaxNoteTextBlock_lbl" xml:lang="en-US">Schedule of Federal and State Income Tax Provision</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FederalIncomeTaxNoteTextBlock" xlink:to="us-gaap_FederalIncomeTaxNoteTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xml:lang="en-US">Federal, current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Federal, deferred</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">State, current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">State, deferred</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Statutory federal income tax rate</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">State income taxes, net of federal tax benefit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xml:lang="en-US">Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAbstract_lbl" xml:lang="en-US">Deferred tax assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_lbl" xml:lang="en-US">Capitalized research and development costs</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl" xml:lang="en-US">Employee compensation and benefits</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xml:lang="en-US">Allowances for doubtful accounts and discounts</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInventory"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl" xml:lang="en-US">Inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl" xml:lang="en-US">Stock-based compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US">Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_lbl" xml:lang="en-US">Deferred tax liabilities:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US">Depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US">Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">Earnings Per Share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLossAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLossAbstract_lbl" xml:lang="en-US">Numerator:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAbstract" xlink:to="us-gaap_NetIncomeLossAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_lbl" xml:lang="en-US">Denominator:</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US">Dilutive effect of options and restricted stock units outstanding under the Company&#8217;s employee compensation plans</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_StockRepurchasesDisclosureTextBlock" xlink:href="rgr-20241231.xsd#rgr_StockRepurchasesDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_StockRepurchasesDisclosureTextBlock_lbl" xml:lang="en-US">Stock Repurchases</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockRepurchasesDisclosureTextBlock" xlink:to="rgr_StockRepurchasesDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfTreasuryStockByClassTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfTreasuryStockByClassTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfTreasuryStockByClassTextBlock_lbl" xml:lang="en-US">Schedule of Repurchased Shares of its Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfTreasuryStockByClassTextBlock" xlink:to="us-gaap_ScheduleOfTreasuryStockByClassTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ThirdQuarter2022Abstract" xlink:href="rgr-20241231.xsd#rgr_ThirdQuarter2022Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ThirdQuarter2022Abstract_lbl" xml:lang="en-US">Third Quarter 2022</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThirdQuarter2022Abstract" xlink:to="rgr_ThirdQuarter2022Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockSharesAcquired" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockSharesAcquired"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockSharesAcquired_lbl" xml:lang="en-US">Total Number of Shares Purchased</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockSharesAcquired" xlink:to="us-gaap_TreasuryStockSharesAcquired_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl" xml:lang="en-US">Average Price Paid per Share (in Dollars per share)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_lbl" xml:lang="en-US">Total Number of Shares Purchased as Part of Publicly Announced Program</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:to="srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2022Abstract" xlink:href="rgr-20241231.xsd#rgr_FourthQuarter2022Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FourthQuarter2022Abstract_lbl" xml:lang="en-US">Fourth Quarter 2022</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2022Abstract" xlink:to="rgr_FourthQuarter2022Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2023Abstract" xlink:href="rgr-20241231.xsd#rgr_FourthQuarter2023Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FourthQuarter2023Abstract_lbl" xml:lang="en-US">Fourth Quarter 2023</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2023Abstract" xlink:to="rgr_FourthQuarter2023Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FirstQuarter2024Abstract" xlink:href="rgr-20241231.xsd#rgr_FirstQuarter2024Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FirstQuarter2024Abstract_lbl" xml:lang="en-US">First Quarter 2024</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FirstQuarter2024Abstract" xlink:to="rgr_FirstQuarter2024Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_SecondQuarter2024Abstract" xlink:href="rgr-20241231.xsd#rgr_SecondQuarter2024Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_SecondQuarter2024Abstract_lbl" xml:lang="en-US">Second Quarter 2024</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SecondQuarter2024Abstract" xlink:to="rgr_SecondQuarter2024Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ThirdQuarter2024Abstract" xlink:href="rgr-20241231.xsd#rgr_ThirdQuarter2024Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ThirdQuarter2024Abstract_lbl" xml:lang="en-US">Third Quarter 2024</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThirdQuarter2024Abstract" xlink:to="rgr_ThirdQuarter2024Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2024Abstract" xlink:href="rgr-20241231.xsd#rgr_FourthQuarter2024Abstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FourthQuarter2024Abstract_lbl" xml:lang="en-US">Fourth Quarter 2024</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2024Abstract" xlink:to="rgr_FourthQuarter2024Abstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_lbl" xml:lang="en-US">Maximum Dollar Value of Shares that May Yet Be Purchased Under the Program (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_lbl0" xml:lang="en-US">Share repurchase authorization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">Compensation Plans</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">Operating Segment Information</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US">Schedule of Operating Segment Financial Information</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenuesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenuesAbstract_lbl" xml:lang="en-US">Net Sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenuesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CastingsAbstract" xlink:href="rgr-20241231.xsd#rgr_CastingsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CastingsAbstract_lbl" xml:lang="en-US">Castings</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsAbstract" xlink:to="rgr_CastingsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US">Net Sales for Castings</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CostsOfGoodsSoldAbstract" xlink:href="rgr-20241231.xsd#rgr_CostsOfGoodsSoldAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CostsOfGoodsSoldAbstract_lbl" xml:lang="en-US">Costs of Goods Sold</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CostsOfGoodsSoldAbstract" xlink:to="rgr_CostsOfGoodsSoldAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CastingsAbstract0" xlink:href="rgr-20241231.xsd#rgr_CastingsAbstract0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CastingsAbstract0_lbl" xml:lang="en-US">Castings</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsAbstract0" xlink:to="rgr_CastingsAbstract0_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_GrossProfitLossAbstract" xlink:href="rgr-20241231.xsd#rgr_GrossProfitLossAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_GrossProfitLossAbstract_lbl" xml:lang="en-US">Gross Profit (Loss)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_GrossProfitLossAbstract" xlink:to="rgr_GrossProfitLossAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract_lbl" xml:lang="en-US">Income (Loss) Before Income Taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract" xlink:to="us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_lbl" xml:lang="en-US">Goodwill</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Goodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationAbstract_lbl" xml:lang="en-US">Depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAbstract" xlink:to="us-gaap_DepreciationAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US">Depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Depreciation_lbl0" xml:lang="en-US">Depreciation expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US">Capital Expenditures</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentExpenditureAdditionToLongLivedAssets"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets_lbl" xml:lang="en-US">Capital Expenditures</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:to="us-gaap_SegmentExpenditureAdditionToLongLivedAssets_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock_lbl" xml:lang="en-US">Quarterly Results of Operations (Unaudited)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl" xml:lang="en-US">Schedule of Quarterly Financial Information</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US">Related Party Transactions</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LegalMattersAndContingenciesTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock_lbl" xml:lang="en-US">Contingent Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:to="us-gaap_LegalMattersAndContingenciesTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" xml:lang="en-US">Schedule of Roll-forward for Product Liability Reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl" xml:lang="en-US">Accrued Legal Expense (Income)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl0" xml:lang="en-US">Accrued Legal Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ValuationAllowancesAndReservesLegalFees" xlink:href="rgr-20241231.xsd#rgr_ValuationAllowancesAndReservesLegalFees"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ValuationAllowancesAndReservesLegalFees_lbl" xml:lang="en-US">Legal Fees</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ValuationAllowancesAndReservesLegalFees" xlink:to="rgr_ValuationAllowancesAndReservesLegalFees_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ValuationAllowancesAndReservesSettlements" xlink:href="rgr-20241231.xsd#rgr_ValuationAllowancesAndReservesSettlements"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ValuationAllowancesAndReservesSettlements_lbl" xml:lang="en-US">Settlements</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ValuationAllowancesAndReservesSettlements" xlink:to="rgr_ValuationAllowancesAndReservesSettlements_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingenciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityContingenciesTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductLiabilityContingenciesTextBlock_lbl" xml:lang="en-US">Schedule of Product Liability Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityContingenciesTextBlock" xlink:to="us-gaap_ProductLiabilityContingenciesTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityAccrualPeriodExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense_lbl" xml:lang="en-US">Insurance Premium Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:to="us-gaap_ProductLiabilityAccrualPeriodExpense_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense_lbl0" xml:lang="en-US">Product liability expense (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:to="us-gaap_ProductLiabilityAccrualPeriodExpense_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualComponentAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityAccrualComponentAmount"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductLiabilityAccrualComponentAmount_lbl" xml:lang="en-US">Total Product Liability Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityAccrualComponentAmount" xlink:to="us-gaap_ProductLiabilityAccrualComponentAmount_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancialInstrumentsDisclosureTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinancialInstrumentsDisclosureTextBlock_lbl" xml:lang="en-US">Financial Instruments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:to="us-gaap_FinancialInstrumentsDisclosureTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US">SUBSEQUENT EVENTS</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeRevenueRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeRevenueRecognized"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredIncomeRevenueRecognized_lbl" xml:lang="en-US">Revenue recognized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeRevenueRecognized" xlink:to="us-gaap_DeferredIncomeRevenueRecognized_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Allowance for doubtful accounts</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_AllowanceForDiscountssAccountsReceivableCurrent" xlink:href="rgr-20241231.xsd#rgr_AllowanceForDiscountssAccountsReceivableCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="rgr_AllowanceForDiscountssAccountsReceivableCurrent_lbl" xml:lang="en-US">Allowance for discounts</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AllowanceForDiscountssAccountsReceivableCurrent" xlink:to="rgr_AllowanceForDiscountssAccountsReceivableCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Accumulated amortization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Less: Difference between undiscounted lease payments &amp; the present value of future lease payments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" xml:lang="en-US">Research and development tax credits</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LandImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandImprovementsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LandImprovementsMember_lbl" xml:lang="en-US">Land Improvements [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandImprovementsMember" xlink:to="us-gaap_LandImprovementsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember_lbl" xml:lang="en-US">Building and Building Improvements [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US">Machinery and Equipment [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ToolsDiesAndMoldsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ToolsDiesAndMoldsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ToolsDiesAndMoldsMember_lbl" xml:lang="en-US">Dies and Tools [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ToolsDiesAndMoldsMember" xlink:to="us-gaap_ToolsDiesAndMoldsMember_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ToolsDiesAndMoldsMember_lbl0" xml:lang="en-US">Tools, Dies and Molds [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ToolsDiesAndMoldsMember" xlink:to="us-gaap_ToolsDiesAndMoldsMember_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_OperatingLeaseMember" xlink:href="rgr-20241231.xsd#rgr_OperatingLeaseMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OperatingLeaseMember_lbl" xml:lang="en-US">Operating lease [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OperatingLeaseMember" xlink:to="rgr_OperatingLeaseMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_JulyThreeToJulyThirtyMember" xlink:href="rgr-20241231.xsd#rgr_JulyThreeToJulyThirtyMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_JulyThreeToJulyThirtyMember_lbl" xml:lang="en-US">July 3 to July 30 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JulyThreeToJulyThirtyMember" xlink:to="rgr_JulyThreeToJulyThirtyMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ThirdQuarter2022Member" xlink:href="rgr-20241231.xsd#rgr_ThirdQuarter2022Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ThirdQuarter2022Member_lbl" xml:lang="en-US">Third Quarter 2022 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThirdQuarter2022Member" xlink:to="rgr_ThirdQuarter2022Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_JulyThirtyoneToAugustTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_JulyThirtyoneToAugustTwentySevenMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_JulyThirtyoneToAugustTwentySevenMember_lbl" xml:lang="en-US">July 31 to August 27 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JulyThirtyoneToAugustTwentySevenMember" xlink:to="rgr_JulyThirtyoneToAugustTwentySevenMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_AugustTwentyEightToOctoberOneMember" xlink:href="rgr-20241231.xsd#rgr_AugustTwentyEightToOctoberOneMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_AugustTwentyEightToOctoberOneMember_lbl" xml:lang="en-US">August 28 to October 1 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AugustTwentyEightToOctoberOneMember" xlink:to="rgr_AugustTwentyEightToOctoberOneMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberTwoToOctoberTwentyNineMember" xlink:href="rgr-20241231.xsd#rgr_OctoberTwoToOctoberTwentyNineMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OctoberTwoToOctoberTwentyNineMember_lbl" xml:lang="en-US">October 2 to October 29 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberTwoToOctoberTwentyNineMember" xlink:to="rgr_OctoberTwoToOctoberTwentyNineMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2022Member" xlink:href="rgr-20241231.xsd#rgr_FourthQuarter2022Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FourthQuarter2022Member_lbl" xml:lang="en-US">Fourth Quarter 2022 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2022Member" xlink:to="rgr_FourthQuarter2022Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberThirtyToNovemberTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_OctoberThirtyToNovemberTwentySevenMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OctoberThirtyToNovemberTwentySevenMember_lbl" xml:lang="en-US">October 30 to November 26 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberThirtyToNovemberTwentySevenMember" xlink:to="rgr_OctoberThirtyToNovemberTwentySevenMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_NovemberTwentySevenToDecemberThirtyOneMember" xlink:href="rgr-20241231.xsd#rgr_NovemberTwentySevenToDecemberThirtyOneMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_NovemberTwentySevenToDecemberThirtyOneMember_lbl" xml:lang="en-US">November 27 to December 31 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NovemberTwentySevenToDecemberThirtyOneMember" xlink:to="rgr_NovemberTwentySevenToDecemberThirtyOneMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberOneToOctoberTwentyEightMember" xlink:href="rgr-20241231.xsd#rgr_OctoberOneToOctoberTwentyEightMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OctoberOneToOctoberTwentyEightMember_lbl" xml:lang="en-US">October 1 to October 28 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberOneToOctoberTwentyEightMember" xlink:to="rgr_OctoberOneToOctoberTwentyEightMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2023Member" xlink:href="rgr-20241231.xsd#rgr_FourthQuarter2023Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FourthQuarter2023Member_lbl" xml:lang="en-US">Fourth Quarter 2023 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2023Member" xlink:to="rgr_FourthQuarter2023Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberTwentyNineToNovemberTwentyFiveMember" xlink:href="rgr-20241231.xsd#rgr_OctoberTwentyNineToNovemberTwentyFiveMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OctoberTwentyNineToNovemberTwentyFiveMember_lbl" xml:lang="en-US">October 29 to November 25 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberTwentyNineToNovemberTwentyFiveMember" xlink:to="rgr_OctoberTwentyNineToNovemberTwentyFiveMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_NovemberTwentySixToDecemberThirtyOneMember" xlink:href="rgr-20241231.xsd#rgr_NovemberTwentySixToDecemberThirtyOneMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_NovemberTwentySixToDecemberThirtyOneMember_lbl" xml:lang="en-US">November 26 to December 31 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NovemberTwentySixToDecemberThirtyOneMember" xlink:to="rgr_NovemberTwentySixToDecemberThirtyOneMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_JanuaryOneToJanuaryTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_JanuaryOneToJanuaryTwentySevenMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_JanuaryOneToJanuaryTwentySevenMember_lbl" xml:lang="en-US">January 1 to January 27 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JanuaryOneToJanuaryTwentySevenMember" xlink:to="rgr_JanuaryOneToJanuaryTwentySevenMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FirstQuarter2024Member" xlink:href="rgr-20241231.xsd#rgr_FirstQuarter2024Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FirstQuarter2024Member_lbl" xml:lang="en-US">First Quarter 2024 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FirstQuarter2024Member" xlink:to="rgr_FirstQuarter2024Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_JanuaryTwentyEightToFebruaryTwentyFourMember" xlink:href="rgr-20241231.xsd#rgr_JanuaryTwentyEightToFebruaryTwentyFourMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_JanuaryTwentyEightToFebruaryTwentyFourMember_lbl" xml:lang="en-US">January 28 to February 24 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JanuaryTwentyEightToFebruaryTwentyFourMember" xlink:to="rgr_JanuaryTwentyEightToFebruaryTwentyFourMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FebruaryTwentyFiveToMarchThirtyMember" xlink:href="rgr-20241231.xsd#rgr_FebruaryTwentyFiveToMarchThirtyMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FebruaryTwentyFiveToMarchThirtyMember_lbl" xml:lang="en-US">February 25 to March 30 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FebruaryTwentyFiveToMarchThirtyMember" xlink:to="rgr_FebruaryTwentyFiveToMarchThirtyMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_MarchThirtyOneToAprilTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_MarchThirtyOneToAprilTwentySevenMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_MarchThirtyOneToAprilTwentySevenMember_lbl" xml:lang="en-US">March 31 to April 27 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_MarchThirtyOneToAprilTwentySevenMember" xlink:to="rgr_MarchThirtyOneToAprilTwentySevenMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_SecondQuarter2024Member" xlink:href="rgr-20241231.xsd#rgr_SecondQuarter2024Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_SecondQuarter2024Member_lbl" xml:lang="en-US">Second Quarter 2024 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SecondQuarter2024Member" xlink:to="rgr_SecondQuarter2024Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_AprilTwentyEightToMayTwentyFiveMember" xlink:href="rgr-20241231.xsd#rgr_AprilTwentyEightToMayTwentyFiveMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_AprilTwentyEightToMayTwentyFiveMember_lbl" xml:lang="en-US">April 28 to May 25 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AprilTwentyEightToMayTwentyFiveMember" xlink:to="rgr_AprilTwentyEightToMayTwentyFiveMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_MayTwentySixToJuneTwentyNineMember" xlink:href="rgr-20241231.xsd#rgr_MayTwentySixToJuneTwentyNineMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_MayTwentySixToJuneTwentyNineMember_lbl" xml:lang="en-US">May 26 to June 29 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_MayTwentySixToJuneTwentyNineMember" xlink:to="rgr_MayTwentySixToJuneTwentyNineMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_JuneThirtyToJulyTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_JuneThirtyToJulyTwentySevenMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_JuneThirtyToJulyTwentySevenMember_lbl" xml:lang="en-US">June 30 to July 27 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JuneThirtyToJulyTwentySevenMember" xlink:to="rgr_JuneThirtyToJulyTwentySevenMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ThirdQuarter2024Member" xlink:href="rgr-20241231.xsd#rgr_ThirdQuarter2024Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ThirdQuarter2024Member_lbl" xml:lang="en-US">Third Quarter 2024 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThirdQuarter2024Member" xlink:to="rgr_ThirdQuarter2024Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_JulyTwentyEightToAugustTwentyFourMember" xlink:href="rgr-20241231.xsd#rgr_JulyTwentyEightToAugustTwentyFourMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_JulyTwentyEightToAugustTwentyFourMember_lbl" xml:lang="en-US">July 28 to August 24 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JulyTwentyEightToAugustTwentyFourMember" xlink:to="rgr_JulyTwentyEightToAugustTwentyFourMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_AugustTwentyFiveToSeptemberTwentyEightMember" xlink:href="rgr-20241231.xsd#rgr_AugustTwentyFiveToSeptemberTwentyEightMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_AugustTwentyFiveToSeptemberTwentyEightMember_lbl" xml:lang="en-US">August 25 to September 28 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AugustTwentyFiveToSeptemberTwentyEightMember" xlink:to="rgr_AugustTwentyFiveToSeptemberTwentyEightMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_SeptemberTwentyNineToOctoberTwentySixMember" xlink:href="rgr-20241231.xsd#rgr_SeptemberTwentyNineToOctoberTwentySixMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_SeptemberTwentyNineToOctoberTwentySixMember_lbl" xml:lang="en-US">September 29 to October 26 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SeptemberTwentyNineToOctoberTwentySixMember" xlink:to="rgr_SeptemberTwentyNineToOctoberTwentySixMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2024Member" xlink:href="rgr-20241231.xsd#rgr_FourthQuarter2024Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_FourthQuarter2024Member_lbl" xml:lang="en-US">Fourth Quarter 2024 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2024Member" xlink:to="rgr_FourthQuarter2024Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberTwentySevenToNovemberTwentyThreeMember" xlink:href="rgr-20241231.xsd#rgr_OctoberTwentySevenToNovemberTwentyThreeMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OctoberTwentySevenToNovemberTwentyThreeMember_lbl" xml:lang="en-US">October 27 to November 23 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberTwentySevenToNovemberTwentyThreeMember" xlink:to="rgr_OctoberTwentySevenToNovemberTwentyThreeMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_NovemberTwentyThreeToDecemberThirtyOneMember" xlink:href="rgr-20241231.xsd#rgr_NovemberTwentyThreeToDecemberThirtyOneMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_NovemberTwentyThreeToDecemberThirtyOneMember_lbl" xml:lang="en-US">November 23 to December 31 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NovemberTwentyThreeToDecemberThirtyOneMember" xlink:to="rgr_NovemberTwentyThreeToDecemberThirtyOneMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CastingsMember" xlink:href="rgr-20241231.xsd#rgr_CastingsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CastingsMember_lbl" xml:lang="en-US">Castings [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsMember" xlink:to="rgr_CastingsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CastingsUnaffiliatedMember" xlink:href="rgr-20241231.xsd#rgr_CastingsUnaffiliatedMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CastingsUnaffiliatedMember_lbl" xml:lang="en-US">Castings Unaffiliated [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsUnaffiliatedMember" xlink:to="rgr_CastingsUnaffiliatedMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_IntersegmentMember" xlink:href="rgr-20241231.xsd#rgr_IntersegmentMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_IntersegmentMember_lbl" xml:lang="en-US">Intersegment [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IntersegmentMember" xlink:to="rgr_IntersegmentMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_EliminationsMember" xlink:href="rgr-20241231.xsd#rgr_EliminationsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_EliminationsMember_lbl" xml:lang="en-US">Eliminations [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_EliminationsMember" xlink:to="rgr_EliminationsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CorporatesMember" xlink:href="rgr-20241231.xsd#rgr_CorporatesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CorporatesMember_lbl" xml:lang="en-US">Corporates [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CorporatesMember" xlink:to="rgr_CorporatesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityReserveMemberMember" xlink:href="rgr-20241231.xsd#rgr_ProductLiabilityReserveMemberMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ProductLiabilityReserveMemberMember_lbl" xml:lang="en-US">Product Liability Reserve Member [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityReserveMemberMember" xlink:to="rgr_ProductLiabilityReserveMemberMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_AccruedLegalExpenseMember" xlink:href="rgr-20241231.xsd#rgr_AccruedLegalExpenseMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_AccruedLegalExpenseMember_lbl" xml:lang="en-US">Accrued Legal Expense [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AccruedLegalExpenseMember" xlink:to="rgr_AccruedLegalExpenseMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_InsurancePremiumExpenseMember" xlink:href="rgr-20241231.xsd#rgr_InsurancePremiumExpenseMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_InsurancePremiumExpenseMember_lbl" xml:lang="en-US">Insurance Premium Expense [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_InsurancePremiumExpenseMember" xlink:to="rgr_InsurancePremiumExpenseMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TotalProductLiabilityExpenseMember" xlink:href="rgr-20241231.xsd#rgr_TotalProductLiabilityExpenseMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_TotalProductLiabilityExpenseMember_lbl" xml:lang="en-US">Total Product Liability Expense [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TotalProductLiabilityExpenseMember" xlink:to="rgr_TotalProductLiabilityExpenseMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US">Concentration Risk Benchmark [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US">Concentration Risk Type [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Customer [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsAxis_lbl" xml:lang="en-US">Dividends [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsAxis" xlink:to="us-gaap_DividendsAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_StatementScenarioAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementScenarioAxis_lbl" xml:lang="en-US">Scenario [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_StatementScenarioAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl" xml:lang="en-US">Plan Name [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title and Position [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_VestingAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VestingAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VestingAxis_lbl" xml:lang="en-US">Vesting [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Statistical Measurement [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_StatementGeographicalAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US">Geographical [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionAxis_lbl" xml:lang="en-US">Related Party Transaction [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis_lbl" xml:lang="en-US">Loss Contingency Nature [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xml:lang="en-US">Subsequent Event Type [Axis]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Operating Lease, Right-of-Use Asset</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Operating Lease, Liability, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeasePayments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Operating Lease, Payments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShortTermLeasePayments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermLeasePayments"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShortTermLeasePayments_lbl" xml:lang="en-US">Short-Term Lease Payments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermLeasePayments" xlink:to="us-gaap_ShortTermLeasePayments_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl" xml:lang="en-US">Right-of-Use Asset Obtained in Exchange for Finance Lease Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl0" xml:lang="en-US">Lease term</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Management Processes for Assessing, Identifying, and Managing Threats [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Management Processes Integrated [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock" xlink:to="cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementProcessesIntegratedFlag" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementProcessesIntegratedFlag"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cyd_CybersecurityRiskManagementProcessesIntegratedFlag_lbl" xml:lang="en-US">Cybersecurity Risk Management Processes Integrated [Flag]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementProcessesIntegratedFlag" xlink:to="cyd_CybersecurityRiskManagementProcessesIntegratedFlag_lbl"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementThirdPartyEngagedFlag" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementThirdPartyEngagedFlag"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cyd_CybersecurityRiskManagementThirdPartyEngagedFlag_lbl" xml:lang="en-US">Cybersecurity Risk Management Third Party Engaged [Flag]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementThirdPartyEngagedFlag" xlink:to="cyd_CybersecurityRiskManagementThirdPartyEngagedFlag_lbl"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Board of Directors Oversight [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock" xlink:to="cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Board Committee or Subcommittee Responsible for Oversight [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:to="cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Process for Informing Board Committee or Subcommittee Responsible for Oversight [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:to="cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Management Expertise of Management Responsible [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock" xlink:to="cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock_lbl" xml:lang="en-US">Cybersecurity Risk Process for Informing Management or Committees Responsible [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock" xlink:to="cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag_lbl" xml:lang="en-US">Cybersecurity Risk Management Positions or Committees Responsible Report to Board [Flag]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag" xlink:to="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Percentage of sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl0" xml:lang="en-US">Total trade receivables</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationEffectOnEarningsPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationEffectOnEarningsPerShare"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationEffectOnEarningsPerShare_lbl" xml:lang="en-US">Customary payment description</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationEffectOnEarningsPerShare" xlink:to="us-gaap_SharebasedCompensationEffectOnEarningsPerShare_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_BadDebtExpenseInTerm" xlink:href="rgr-20241231.xsd#rgr_BadDebtExpenseInTerm"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_BadDebtExpenseInTerm_lbl" xml:lang="en-US">Bad debt expense in term</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_BadDebtExpenseInTerm" xlink:to="rgr_BadDebtExpenseInTerm_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Useful life</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdvertisingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdvertisingExpense_lbl" xml:lang="en-US">Advertising expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingExpense" xlink:to="us-gaap_AdvertisingExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ShippingCosts" xlink:href="rgr-20241231.xsd#rgr_ShippingCosts"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ShippingCosts_lbl" xml:lang="en-US">Shipping costs</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShippingCosts" xlink:to="rgr_ShippingCosts_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US">Research and development</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US">Revenue and recognized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_NetIncreaseInFirearmsSales" xlink:href="rgr-20241231.xsd#rgr_NetIncreaseInFirearmsSales"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_NetIncreaseInFirearmsSales_lbl" xml:lang="en-US">Net increase in firearms sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NetIncreaseInFirearmsSales" xlink:to="rgr_NetIncreaseInFirearmsSales_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_DeferredContractRevenueLiability" xlink:href="rgr-20241231.xsd#rgr_DeferredContractRevenueLiability"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_DeferredContractRevenueLiability_lbl" xml:lang="en-US">Deferred contract revenue liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DeferredContractRevenueLiability" xlink:to="rgr_DeferredContractRevenueLiability_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_DeferredOfRevenue" xlink:href="rgr-20241231.xsd#rgr_DeferredOfRevenue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_DeferredOfRevenue_lbl" xml:lang="en-US">Deferred of revenue</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DeferredOfRevenue" xlink:to="rgr_DeferredOfRevenue_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_NetDecreaseInFirearmsSales" xlink:href="rgr-20241231.xsd#rgr_NetDecreaseInFirearmsSales"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_NetDecreaseInFirearmsSales_lbl" xml:lang="en-US">Net decrease in firearms sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NetDecreaseInFirearmsSales" xlink:to="rgr_NetDecreaseInFirearmsSales_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Patent amortization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xml:lang="en-US">Estimated annual patent amortization expense after five years</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">Estimated annual patent amortization expense 2024</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">Estimated annual patent amortization expense 2025</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">Estimated annual patent amortization expense 2026</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">Estimated annual patent amortization expense 2027</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US">Estimated annual patent amortization expense 2028</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableAmountPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableAmountPerShare"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DividendsPayableAmountPerShare_lbl" xml:lang="en-US">Dividend payable per share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableAmountPerShare" xlink:to="us-gaap_DividendsPayableAmountPerShare_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DividendsPayableAmountPerShare_lbl0" xml:lang="en-US">Dividend authorized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableAmountPerShare" xlink:to="us-gaap_DividendsPayableAmountPerShare_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_lbl" xml:lang="en-US">Dividends payable, date of record</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:to="us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableCurrentAndNoncurrent"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent_lbl" xml:lang="en-US">Dividends Payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:to="us-gaap_DividendsPayableCurrentAndNoncurrent_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendPayableDateToBePaidDayMonthAndYear" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DividendPayableDateToBePaidDayMonthAndYear_lbl" xml:lang="en-US">Dividends payable, date to be paid</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendPayableDateToBePaidDayMonthAndYear" xlink:to="us-gaap_DividendPayableDateToBePaidDayMonthAndYear_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Line of credit agreement</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityExpirationDate1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1_lbl" xml:lang="en-US">Revolving credit facility, expiration date</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityExpirationDate1" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl" xml:lang="en-US">Line of credit unused portion per year</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanAdministrativeExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanAdministrativeExpenses"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanAdministrativeExpenses_lbl" xml:lang="en-US">Expenses related to matching employee contributions</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanAdministrativeExpenses" xlink:to="us-gaap_DefinedContributionPlanAdministrativeExpenses_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_lbl" xml:lang="en-US">Supplemental contributions total</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:to="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes" xlink:href="rgr-20241231.xsd#rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes_lbl" xml:lang="en-US">Capitalized and amortized over for income tax purposes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes" xlink:to="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US">Income tax payments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US">Shares reserved for future issuance (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xml:lang="en-US">Reserved shares for future issuance (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xml:lang="en-US">Shares available for future grants (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US">Total stock-based compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl" xml:lang="en-US">Deferred stock awards amount (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl" xml:lang="en-US">Compensation expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl" xml:lang="en-US">Unrecognized compensation cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xml:lang="en-US">Restricted stock units issued (in Shares)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedStockExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockExpense"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedStockExpense_lbl" xml:lang="en-US">Cost of issuances restricted stock units</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockExpense" xlink:to="us-gaap_RestrictedStockExpense_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_RecognizedCostsOfRestrictedStockUnits" xlink:href="rgr-20241231.xsd#rgr_RecognizedCostsOfRestrictedStockUnits"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_RecognizedCostsOfRestrictedStockUnits_lbl" xml:lang="en-US">Recognized costs of restricted stock units</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RecognizedCostsOfRestrictedStockUnits" xlink:to="rgr_RecognizedCostsOfRestrictedStockUnits_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US">Vesting period</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnrecognizedCompensationCost" xlink:href="rgr-20241231.xsd#rgr_UnrecognizedCompensationCost"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnrecognizedCompensationCost_lbl" xml:lang="en-US">Unrecognized compensation cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnrecognizedCompensationCost" xlink:to="rgr_UnrecognizedCompensationCost_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NumberOfReportableSegments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US">Reportable operating segments (in segments)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionAmountsOfTransaction_lbl" xml:lang="en-US">Amount paid</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:to="us-gaap_RelatedPartyTransactionAmountsOfTransaction_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" xlink:href="rgr-20241231.xsd#rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis_lbl" xml:lang="en-US">Minimum limit of per claim for providing insurance coverage on annual basis (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" xlink:to="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" xlink:href="rgr-20241231.xsd#rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities_lbl" xml:lang="en-US">Maximum limit of aggregate loss incurred annually for providing insurance coverage on annual basis (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" xlink:to="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyDamagesSoughtValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyDamagesSoughtValue"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyDamagesSoughtValue_lbl" xml:lang="en-US">Total amount of damages claimed (in Dollars)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyDamagesSoughtValue" xlink:to="us-gaap_LossContingencyDamagesSoughtValue_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyNewClaimsFiledNumber"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber_lbl" xml:lang="en-US">Number of lawsuits</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyNewClaimsFiledNumber" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyClaimsSettledNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyClaimsSettledNumber"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyClaimsSettledNumber_lbl" xml:lang="en-US">Number of lawsuits resolved</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyClaimsSettledNumber" xlink:to="us-gaap_LossContingencyClaimsSettledNumber_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyClaimsDismissedNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyClaimsDismissedNumber"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyClaimsDismissedNumber_lbl" xml:lang="en-US">Number of lawsuit dismissed</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyClaimsDismissedNumber" xlink:to="us-gaap_LossContingencyClaimsDismissedNumber_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LossContingencyNumberOfLawsuits" xlink:href="rgr-20241231.xsd#rgr_LossContingencyNumberOfLawsuits"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_LossContingencyNumberOfLawsuits_lbl" xml:lang="en-US">Number of lawsuits involving its products</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LossContingencyNumberOfLawsuits" xlink:to="rgr_LossContingencyNumberOfLawsuits_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued_lbl" xml:lang="en-US">Product liability expense years</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued" xlink:to="us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_DateOfRecord" xlink:href="rgr-20241231.xsd#rgr_DateOfRecord"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_DateOfRecord_lbl" xml:lang="en-US">Date of record</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DateOfRecord" xlink:to="rgr_DateOfRecord_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OrganizationPolicyTextBlock" xlink:href="rgr-20241231.xsd#rgr_OrganizationPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_OrganizationPolicyTextBlock_lbl" xml:lang="en-US">Organization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OrganizationPolicyTextBlock" xlink:to="rgr_OrganizationPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_PreparationOfFinancialStatementsPolicyTextBlock" xlink:href="rgr-20241231.xsd#rgr_PreparationOfFinancialStatementsPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_PreparationOfFinancialStatementsPolicyTextBlock_lbl" xml:lang="en-US">Preparation of Financial Statements</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_PreparationOfFinancialStatementsPolicyTextBlock" xlink:to="rgr_PreparationOfFinancialStatementsPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US">Principles of Consolidation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash and Cash Equivalents</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl" xml:lang="en-US">Fair Value Measurements of Short-term Investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xml:lang="en-US">Accounts Receivable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl"/>
<!-- [WMV6][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrae3Q64+IQnmb2USxqPYGfVI2tDrLdUwwGN7MqrQdhG+SCWYUh6Hp+V8bA/AEnE3cNkyoG64Ll76gCDgC4Z1W711EVHq0feHKsI1Gwu4Aj9R4Y6zDFYQe1j2qEiui+5O18VDe6OJPfndHv6hh1fIzram6R/SUPM2cdZx4eP1G4UZA/qczLkJ6S47W0oXkqD3/eDQlF7C1TVVk9UfX1E3ulYy35B1qazkv+34pJ/05avaace8GRtBqo/WT12LO52fhA=] CSR-->
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US">Inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">Property, Plant and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">Long-lived Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl" xml:lang="en-US">Goodwill</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Taxes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilityReserveEstimatePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilityReserveEstimatePolicy"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilityReserveEstimatePolicy_lbl" xml:lang="en-US">Product Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilityReserveEstimatePolicy" xlink:to="us-gaap_LiabilityReserveEstimatePolicy_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xml:lang="en-US">Advertising Costs</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ShippingCostPolicyPolicyTextBlock" xlink:href="rgr-20241231.xsd#rgr_ShippingCostPolicyPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ShippingCostPolicyPolicyTextBlock_lbl" xml:lang="en-US">Shipping Costs</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShippingCostPolicyPolicyTextBlock" xlink:to="rgr_ShippingCostPolicyPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xml:lang="en-US">Research and Development</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Earnings per Share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Recent Accounting Pronouncements</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsMember_lbl" xml:lang="en-US">Other Assets [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMember" xlink:to="us-gaap_OtherAssetsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeAccountsPayableAndAccruedExpensesMember" xlink:href="rgr-20241231.xsd#rgr_TradeAccountsPayableAndAccruedExpensesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_TradeAccountsPayableAndAccruedExpensesMember_lbl" xml:lang="en-US">Trade accounts payable and accrued expenses [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeAccountsPayableAndAccruedExpensesMember" xlink:to="rgr_TradeAccountsPayableAndAccruedExpensesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LeaseLiabilitiesMember" xlink:href="rgr-20241231.xsd#rgr_LeaseLiabilitiesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_LeaseLiabilitiesMember_lbl" xml:lang="en-US">Lease liabilities [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LeaseLiabilitiesMember" xlink:to="rgr_LeaseLiabilitiesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SalesMember_lbl" xml:lang="en-US">Sales [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesMember" xlink:to="us-gaap_SalesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US">Customer Concentration Risk [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ExportSalesMember" xlink:href="rgr-20241231.xsd#rgr_ExportSalesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_ExportSalesMember_lbl" xml:lang="en-US">Export Sales [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ExportSalesMember" xlink:to="rgr_ExportSalesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CastingsSalesMember" xlink:href="rgr-20241231.xsd#rgr_CastingsSalesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CastingsSalesMember_lbl" xml:lang="en-US">Castings Sales [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsSalesMember" xlink:to="rgr_CastingsSalesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BuildingMember_lbl" xml:lang="en-US">Building [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingMember" xlink:to="us-gaap_BuildingMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CustomerOneMember" xlink:href="rgr-20241231.xsd#rgr_CustomerOneMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CustomerOneMember_lbl" xml:lang="en-US">Customer One [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerOneMember" xlink:to="rgr_CustomerOneMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts Receivable [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CustomerTwoMember" xlink:href="rgr-20241231.xsd#rgr_CustomerTwoMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CustomerTwoMember_lbl" xml:lang="en-US">Customer Two [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerTwoMember" xlink:to="rgr_CustomerTwoMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CustomerThreeMember" xlink:href="rgr-20241231.xsd#rgr_CustomerThreeMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CustomerThreeMember_lbl" xml:lang="en-US">Customer Three [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerThreeMember" xlink:to="rgr_CustomerThreeMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CustomerFourMember" xlink:href="rgr-20241231.xsd#rgr_CustomerFourMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_CustomerFourMember_lbl" xml:lang="en-US">Customer Four [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerFourMember" xlink:to="rgr_CustomerFourMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeNameMember" xlink:href="rgr-20241231.xsd#rgr_TradeNameMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_TradeNameMember_lbl" xml:lang="en-US">Trade Name[Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeNameMember" xlink:to="rgr_TradeNameMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US">Customer Relationships [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_S2022Q4DividendsMember" xlink:href="rgr-20241231.xsd#rgr_S2022Q4DividendsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_S2022Q4DividendsMember_lbl" xml:lang="en-US">S2022Q4 Dividends [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_S2022Q4DividendsMember" xlink:to="rgr_S2022Q4DividendsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioForecastMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioForecastMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ScenarioForecastMember_lbl" xml:lang="en-US">Forecast [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioForecastMember" xlink:to="srt_ScenarioForecastMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_StockIncentivePlan2017Member" xlink:href="rgr-20241231.xsd#rgr_StockIncentivePlan2017Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_StockIncentivePlan2017Member_lbl" xml:lang="en-US">Stock Incentive Plan 2017 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockIncentivePlan2017Member" xlink:to="rgr_StockIncentivePlan2017Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_StockIncentivePlan2023Member" xlink:href="rgr-20241231.xsd#rgr_StockIncentivePlan2023Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_StockIncentivePlan2023Member_lbl" xml:lang="en-US">Stock Incentive Plan 2023 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockIncentivePlan2023Member" xlink:to="rgr_StockIncentivePlan2023Member_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_DirectorMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_DirectorMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_DirectorMember_lbl" xml:lang="en-US">Director [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_DirectorMember" xlink:to="srt_DirectorMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_DeferredStockMember" xlink:href="rgr-20241231.xsd#rgr_DeferredStockMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_DeferredStockMember_lbl" xml:lang="en-US">Deferred Stock [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DeferredStockMember" xlink:to="rgr_DeferredStockMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInJune2025Member" xlink:href="rgr-20241231.xsd#rgr_VestInJune2025Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_VestInJune2025Member_lbl" xml:lang="en-US">Vest In June2025 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInJune2025Member" xlink:to="rgr_VestInJune2025Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInJune2027Member" xlink:href="rgr-20241231.xsd#rgr_VestInJune2027Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_VestInJune2027Member_lbl" xml:lang="en-US">Vest in June 2027 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInJune2027Member" xlink:to="rgr_VestInJune2027Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInJune2024Member" xlink:href="rgr-20241231.xsd#rgr_VestInJune2024Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_VestInJune2024Member_lbl" xml:lang="en-US">Vest In June 2024 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInJune2024Member" xlink:to="rgr_VestInJune2024Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInJune2026Member" xlink:href="rgr-20241231.xsd#rgr_VestInJune2026Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_VestInJune2026Member_lbl" xml:lang="en-US">Vest in June 2026 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInJune2026Member" xlink:to="rgr_VestInJune2026Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInMay2023Member" xlink:href="rgr-20241231.xsd#rgr_VestInMay2023Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_VestInMay2023Member_lbl" xml:lang="en-US">Vest in May 2023 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInMay2023Member" xlink:to="rgr_VestInMay2023Member_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_VestingInMay2025Member" xlink:href="rgr-20241231.xsd#rgr_VestingInMay2025Member"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_VestingInMay2025Member_lbl" xml:lang="en-US">Vesting in May 2025 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestingInMay2025Member" xlink:to="rgr_VestingInMay2025Member_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl0" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl0"/>
    <loc xlink:type="locator" xlink:label="srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LipseysMember" xlink:href="rgr-20241231.xsd#rgr_LipseysMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_LipseysMember_lbl" xml:lang="en-US">Lipsey&#8217;s [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LipseysMember" xlink:to="rgr_LipseysMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesRevenueNetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Revenue Benchmark [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_SportsSouthMember" xlink:href="rgr-20241231.xsd#rgr_SportsSouthMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_SportsSouthMember_lbl" xml:lang="en-US">Sports South [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SportsSouthMember" xlink:to="rgr_SportsSouthMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_DavidsonsMember" xlink:href="rgr-20241231.xsd#rgr_DavidsonsMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_DavidsonsMember_lbl" xml:lang="en-US">Davidson&#8217;s [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DavidsonsMember" xlink:to="rgr_DavidsonsMember_lbl"/>
    <loc xlink:type="locator" xlink:label="country_US" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_US_lbl" xml:lang="en-US">United State [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_NationalRifleAssociationMember" xlink:href="rgr-20241231.xsd#rgr_NationalRifleAssociationMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_NationalRifleAssociationMember_lbl" xml:lang="en-US">National Rifle Association [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NationalRifleAssociationMember" xlink:to="rgr_NationalRifleAssociationMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_NationalShootingSportsFoundationMember" xlink:href="rgr-20241231.xsd#rgr_NationalShootingSportsFoundationMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_NationalShootingSportsFoundationMember_lbl" xml:lang="en-US">National Shooting Sports Foundation [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NationalShootingSportsFoundationMember" xlink:to="rgr_NationalShootingSportsFoundationMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TrademarkLitigationMember" xlink:href="rgr-20241231.xsd#rgr_TrademarkLitigationMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_TrademarkLitigationMember_lbl" xml:lang="en-US">Trademark Litigation [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TrademarkLitigationMember" xlink:to="rgr_TrademarkLitigationMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TrademarkLawsuitMember" xlink:href="rgr-20241231.xsd#rgr_TrademarkLawsuitMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_TrademarkLawsuitMember_lbl" xml:lang="en-US">Trademark Lawsuit [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TrademarkLawsuitMember" xlink:to="rgr_TrademarkLawsuitMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TraditionalProductLiabilityLawsuitMember" xlink:href="rgr-20241231.xsd#rgr_TraditionalProductLiabilityLawsuitMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_TraditionalProductLiabilityLawsuitMember_lbl" xml:lang="en-US">Traditional Product Liability Lawsuit [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TraditionalProductLiabilityLawsuitMember" xlink:to="rgr_TraditionalProductLiabilityLawsuitMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_MunicipalLawsuitMember" xlink:href="rgr-20241231.xsd#rgr_MunicipalLawsuitMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_MunicipalLawsuitMember_lbl" xml:lang="en-US">Municipal Lawsuit [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_MunicipalLawsuitMember" xlink:to="rgr_MunicipalLawsuitMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_UnfairTradePracticesMember" xlink:href="rgr-20241231.xsd#rgr_UnfairTradePracticesMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_UnfairTradePracticesMember_lbl" xml:lang="en-US">Unfair Trade Practices [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnfairTradePracticesMember" xlink:to="rgr_UnfairTradePracticesMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_NegligenceLawsuitMember" xlink:href="rgr-20241231.xsd#rgr_NegligenceLawsuitMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="rgr_NegligenceLawsuitMember_lbl" xml:lang="en-US">Negligence Lawsuit [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NegligenceLawsuitMember" xlink:to="rgr_NegligenceLawsuitMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US">Subsequent Event [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassOfStockDomain_lbl" xml:lang="en-US">Class of Stock [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_ClassOfStockDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductsAndServicesDomain_lbl" xml:lang="en-US">Product and Service [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US">Equity Component [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable" xlink:href="rgr-20241231.xsd#rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable_lbl" xml:lang="en-US">Revenue Recognition and Contracts with Customers - Schedule of Revenue Recognized (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable" xlink:to="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems_lbl" xml:lang="en-US">Schedule of Revenue Recognized [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems" xlink:to="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US">Property, Plant and Equipment [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US">Property, Plant and Equipment [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseContractualTermDomain_lbl" xml:lang="en-US">Lease Contractual Term [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="us-gaap_LeaseContractualTermDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable_lbl" xml:lang="en-US">Leased Assets - Schedule of Operating Lease Liabilities Future Minimum Lease Payments (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable" xlink:to="rgr_LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeasedAssetsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasedAssetsLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasedAssetsLineItems_lbl" xml:lang="en-US">Schedule of Operating Lease Liabilities Future Minimum Lease Payments [Line items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_OperatingLeasedAssetsLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardDateDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardDateDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardDateDomain_lbl" xml:lang="en-US">Award Date [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardDateDomain" xlink:to="us-gaap_AwardDateDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfFourthQuarterEventsTypeDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfFourthQuarterEventsTypeDomain_lbl" xml:lang="en-US">Effect of Fourth Quarter Events, Type [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:to="us-gaap_EffectOfFourthQuarterEventsTypeDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfTreasuryStockTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfTreasuryStockTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassOfTreasuryStockTable_lbl" xml:lang="en-US">Class of Treasury Stock [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_ClassOfTreasuryStockTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityClassOfTreasuryStockLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityClassOfTreasuryStockLineItems_lbl" xml:lang="en-US">Schedule of Repurchased Shares [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_EquityClassOfTreasuryStockLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentDomain_lbl" xml:lang="en-US">Segments [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentDomain" xlink:to="us-gaap_SegmentDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingInformationLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US">Schedule of Operating Segment Financial Information [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductWarrantyLiabilityTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyLiabilityTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyLiabilityTable_lbl" xml:lang="en-US">Product Warranty Liability [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="us-gaap_ProductWarrantyLiabilityTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyLiabilityLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems_lbl" xml:lang="en-US">Product Warranty Liability [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ProductWarrantyLiabilityLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityContingencyTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductLiabilityContingencyTable_lbl" xml:lang="en-US">Product Liability Contingency [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityContingencyTable" xlink:to="us-gaap_ProductLiabilityContingencyTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityContingencyLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductLiabilityContingencyLineItems_lbl" xml:lang="en-US">Product Liability Contingency [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ProductLiabilityContingencyLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xml:lang="en-US">Award Type [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable" xlink:href="rgr-20241231.xsd#rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable_lbl" xml:lang="en-US">Leased Assets - Schedule of Right-of-Use Assets and Related Lease Liabilities (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable" xlink:to="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems_lbl" xml:lang="en-US">Leased Assets - Schedule of Right-of-Use Assets and Related Lease Liabilities (Details) [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementStrategyAndGovernanceTable" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementStrategyAndGovernanceTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementStrategyAndGovernanceTable_lbl" xml:lang="en-US">Cybersecurity Risk Management, Strategy, and Governance [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceTable" xlink:to="cyd_CybersecurityRiskManagementStrategyAndGovernanceTable_lbl"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems_lbl" xml:lang="en-US">Cybersecurity Risk Management, Strategy, and Governance [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems" xlink:to="cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US">Concentration Risk Type [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xml:lang="en-US">Concentration Risk Benchmark [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" xlink:href="rgr-20241231.xsd#rgr_SummaryofSignificantAccountingPoliciesDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_SummaryofSignificantAccountingPoliciesDetailsTable_lbl" xml:lang="en-US">Summary of Significant Accounting Policies (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="rgr_SummaryofSignificantAccountingPoliciesDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ChangeInAccountingEstimateLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ChangeInAccountingEstimateLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ChangeInAccountingEstimateLineItems_lbl" xml:lang="en-US">Significant Accounting Policies [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="us-gaap_ChangeInAccountingEstimateLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US">Customer [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetDetailsTable" xlink:href="rgr-20241231.xsd#rgr_TradeReceivablesNetDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TradeReceivablesNetDetailsTable_lbl" xml:lang="en-US">Trade Receivables, Net (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeReceivablesNetDetailsTable" xlink:to="rgr_TradeReceivablesNetDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetLineItems" xlink:href="rgr-20241231.xsd#rgr_TradeReceivablesNetLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TradeReceivablesNetLineItems_lbl" xml:lang="en-US">Trade Receivables, Net [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeReceivablesNetLineItems" xlink:to="rgr_TradeReceivablesNetLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OtherAssetsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_OtherAssetsDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OtherAssetsDetailsTable_lbl" xml:lang="en-US">Other Assets (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OtherAssetsDetailsTable" xlink:to="rgr_OtherAssetsDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OtherAssetsDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_OtherAssetsDetailsLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OtherAssetsDetailsLineItems_lbl" xml:lang="en-US">Other Assets (Details) [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OtherAssetsDetailsLineItems" xlink:to="rgr_OtherAssetsDetailsLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsDomain_lbl" xml:lang="en-US">Dividends [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsDomain" xlink:to="us-gaap_DividendsDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_AccruedDividendsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_AccruedDividendsDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_AccruedDividendsDetailsTable_lbl" xml:lang="en-US">Accrued Dividends (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AccruedDividendsDetailsTable" xlink:to="rgr_AccruedDividendsDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_AccruedDividendsDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_AccruedDividendsDetailsLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_AccruedDividendsDetailsLineItems_lbl" xml:lang="en-US">Accrued Dividends (Details) [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AccruedDividendsDetailsLineItems" xlink:to="rgr_AccruedDividendsDetailsLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_LineofCreditDetailsTable" xlink:href="rgr-20241231.xsd#rgr_LineofCreditDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LineofCreditDetailsTable_lbl" xml:lang="en-US">Line of Credit (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LineofCreditDetailsTable" xlink:to="rgr_LineofCreditDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xml:lang="en-US">Line of Credit [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScenarioUnspecifiedDomain_lbl" xml:lang="en-US">Scenario [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioUnspecifiedDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_IncomeTaxesDetailsTable" xlink:href="rgr-20241231.xsd#rgr_IncomeTaxesDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_IncomeTaxesDetailsTable_lbl" xml:lang="en-US">Income Taxes (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IncomeTaxesDetailsTable" xlink:to="rgr_IncomeTaxesDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_IncomeTaxesDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_IncomeTaxesDetailsLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_IncomeTaxesDetailsLineItems_lbl" xml:lang="en-US">Income Taxes (Details) [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IncomeTaxesDetailsLineItems" xlink:to="rgr_IncomeTaxesDetailsLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xml:lang="en-US">Title and Position [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameDomain_lbl" xml:lang="en-US">Plan Name [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_VestingDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VestingDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VestingDomain_lbl" xml:lang="en-US">Vesting [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_VestingDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeMember_lbl" xml:lang="en-US">Statistical Measurement [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_CompensationPlansDetailsTable" xlink:href="rgr-20241231.xsd#rgr_CompensationPlansDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CompensationPlansDetailsTable_lbl" xml:lang="en-US">Compensation Plans (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CompensationPlansDetailsTable" xlink:to="rgr_CompensationPlansDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Compensation Plans [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="srt_SegmentGeographicalDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SegmentGeographicalDomain_lbl" xml:lang="en-US">Geographical [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_OperatingSegmentInformationDetailsTable" xlink:href="rgr-20241231.xsd#rgr_OperatingSegmentInformationDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OperatingSegmentInformationDetailsTable_lbl" xml:lang="en-US">Operating Segment Information (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OperatingSegmentInformationDetailsTable" xlink:to="rgr_OperatingSegmentInformationDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US">Operating Segment Information [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionDomain_lbl" xml:lang="en-US">Related Party Transaction [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="us-gaap_RelatedPartyTransactionDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_RelatedPartyTransactionsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_RelatedPartyTransactionsDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_RelatedPartyTransactionsDetailsTable_lbl" xml:lang="en-US">Related Party Transactions (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RelatedPartyTransactionsDetailsTable" xlink:to="rgr_RelatedPartyTransactionsDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xml:lang="en-US">Related Party Transactions [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyNatureDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyNatureDomain_lbl" xml:lang="en-US">Loss Contingency, Nature [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="us-gaap_LossContingencyNatureDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ContingentLiabilitiesDetailsTable" xlink:href="rgr-20241231.xsd#rgr_ContingentLiabilitiesDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ContingentLiabilitiesDetailsTable_lbl" xml:lang="en-US">Contingent Liabilities (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ContingentLiabilitiesDetailsTable" xlink:to="rgr_ContingentLiabilitiesDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingenciesLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingenciesLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingenciesLineItems_lbl" xml:lang="en-US">Contingent Liabilities [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingenciesLineItems_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xml:lang="en-US">Subsequent Event Type [Domain]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_SubsequentEventsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_SubsequentEventsDetailsTable"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_SubsequentEventsDetailsTable_lbl" xml:lang="en-US">Subsequent Events (Details) [Table]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SubsequentEventsDetailsTable" xlink:to="rgr_SubsequentEventsDetailsTable_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xml:lang="en-US">Subsequent Event [Line Items]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventLineItems_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_AllowanceForDiscountssAccountsReceivableCurrent_lbl0" xml:lang="en-US">Allowance for discounts accounts receivable current.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AllowanceForDiscountssAccountsReceivableCurrent" xlink:to="rgr_AllowanceForDiscountssAccountsReceivableCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_BadDebtExpenseInTerm_lbl0" xml:lang="en-US">Bad debt expense in term.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_BadDebtExpenseInTerm" xlink:to="rgr_BadDebtExpenseInTerm_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes_lbl0" xml:lang="en-US">Capitalized and amortized over for income tax purposes.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes" xlink:to="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_DateOfRecord_lbl0" xml:lang="en-US">Date of record.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DateOfRecord" xlink:to="rgr_DateOfRecord_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_DeferredContractRevenueLiability_lbl0" xml:lang="en-US">Deferred contract revenue liability.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DeferredContractRevenueLiability" xlink:to="rgr_DeferredContractRevenueLiability_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_DeferredOfRevenue_lbl0" xml:lang="en-US">Deferred of revenue.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DeferredOfRevenue" xlink:to="rgr_DeferredOfRevenue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_DividendsCommonStockUnpaid_lbl0" xml:lang="en-US">Amount of dividends declared, but unpaid, during period.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DividendsCommonStockUnpaid" xlink:to="rgr_DividendsCommonStockUnpaid_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_EmployeeCompensation_lbl0" xml:lang="en-US">Employee compensation.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_EmployeeCompensation" xlink:to="rgr_EmployeeCompensation_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ExcessAndObsolescenceInventoryReserve_lbl0" xml:lang="en-US">Excess and obsolescence inventory reserve.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ExcessAndObsolescenceInventoryReserve" xlink:to="rgr_ExcessAndObsolescenceInventoryReserve_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_IncreaseDecreaseInProductLiability_lbl0" xml:lang="en-US">The net change during the reporting period in the Product liability expense which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IncreaseDecreaseInProductLiability" xlink:to="rgr_IncreaseDecreaseInProductLiability_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_LossContingencyNumberOfLawsuits_lbl0" xml:lang="en-US">Loss contingency, number of lawsuits.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LossContingencyNumberOfLawsuits" xlink:to="rgr_LossContingencyNumberOfLawsuits_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_NetDecreaseInFirearmsSales_lbl0" xml:lang="en-US">Net decrease in firearms sales.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NetDecreaseInFirearmsSales" xlink:to="rgr_NetDecreaseInFirearmsSales_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_NetIncreaseInFirearmsSales_lbl0" xml:lang="en-US">Net increase in firearms sales.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NetIncreaseInFirearmsSales" xlink:to="rgr_NetIncreaseInFirearmsSales_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_OrganizationPolicyTextBlock_lbl0" xml:lang="en-US">Disclosure of accounting policy for organization.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OrganizationPolicyTextBlock" xlink:to="rgr_OrganizationPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_PreparationOfFinancialStatementsPolicyTextBlock_lbl0" xml:lang="en-US">Disclosure of accounting policy for the preparation of financial statements.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_PreparationOfFinancialStatementsPolicyTextBlock" xlink:to="rgr_PreparationOfFinancialStatementsPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ProductLiabilityAccrualNoncurrent_lbl0" xml:lang="en-US">Carrying value as of the balance sheet date of obligations incurred through that date which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters and due after one year (or beyond the operating cycle if longer).</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityAccrualNoncurrent" xlink:to="rgr_ProductLiabilityAccrualNoncurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ProductLiabilityCurrent_lbl0" xml:lang="en-US">Carrying value as of the balance sheet date of obligations incurred through that date which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityCurrent" xlink:to="rgr_ProductLiabilityCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_RecognizedCostsOfRestrictedStockUnits_lbl0" xml:lang="en-US">The amount of recognized costs of restricted stock units.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RecognizedCostsOfRestrictedStockUnits" xlink:to="rgr_RecognizedCostsOfRestrictedStockUnits_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ShippingCostPolicyPolicyTextBlock_lbl0" xml:lang="en-US">Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShippingCostPolicyPolicyTextBlock" xlink:to="rgr_ShippingCostPolicyPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ShippingCosts_lbl0" xml:lang="en-US">Cost incurred during the reporting period in shipping and transporting goods and services to customers.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShippingCosts" xlink:to="rgr_ShippingCosts_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_StockRepurchasesDisclosureTextBlock_lbl0" xml:lang="en-US">The entire disclosure of stock repurchase.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockRepurchasesDisclosureTextBlock" xlink:to="rgr_StockRepurchasesDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities_lbl0" xml:lang="en-US">Represents maximum limit of aggregate loss incurred annually for providing insurance coverage on annual basis excluding for certain new claims from governments or municipalities.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" xlink:to="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis_lbl0" xml:lang="en-US">Represents minimum limit of per claim for providing insurance coverage on annual basis.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" xlink:to="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_UnrecognizedCompensationCost_lbl0" xml:lang="en-US">Amount of unrecognized compensation cost.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnrecognizedCompensationCost" xlink:to="rgr_UnrecognizedCompensationCost_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ValuationAllowancesAndReservesLegalFees_lbl0" xml:lang="en-US">The amount of legal fees.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ValuationAllowancesAndReservesLegalFees" xlink:to="rgr_ValuationAllowancesAndReservesLegalFees_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_ValuationAllowancesAndReservesSettlements_lbl0" xml:lang="en-US">The amount of settlements.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ValuationAllowancesAndReservesSettlements" xlink:to="rgr_ValuationAllowancesAndReservesSettlements_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_DavidsonsMember_lbl0" xml:lang="en-US">Davidsons [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DavidsonsMember" xlink:to="rgr_DavidsonsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_DeferredStockMember_lbl0" xml:lang="en-US">Deferred Stock [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DeferredStockMember" xlink:to="rgr_DeferredStockMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_FirearmsMember_lbl1" xml:lang="en-US">Firearms [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FirearmsMember" xlink:to="rgr_FirearmsMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_LipseysMember_lbl0" xml:lang="en-US">Lipsey&apos;s [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LipseysMember" xlink:to="rgr_LipseysMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_NationalRifleAssociationMember_lbl0" xml:lang="en-US">National Rifle Association [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NationalRifleAssociationMember" xlink:to="rgr_NationalRifleAssociationMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_SportsSouthMember_lbl0" xml:lang="en-US">Sports South [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SportsSouthMember" xlink:to="rgr_SportsSouthMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_StockIncentivePlan2017Member_lbl0" xml:lang="en-US">Stock Incentive Plan 2017 [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockIncentivePlan2017Member" xlink:to="rgr_StockIncentivePlan2017Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="rgr_UnaffiliatedCastingsMember_lbl0" xml:lang="en-US">A component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity&apos;s financial statements.</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnaffiliatedCastingsMember" xlink:to="rgr_UnaffiliatedCastingsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities_lbl0" xml:lang="en-US">Other Accounts Payable and Accrued Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_OtherAccountsPayableAndAccruedLiabilities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ValuationAllowancesAndReservesLegalFees_lbl1" xml:lang="en-US">Valuation Allowances And Reserves Legal Fees</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ValuationAllowancesAndReservesLegalFees" xlink:to="rgr_ValuationAllowancesAndReservesLegalFees_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets_lbl0" xml:lang="en-US">Segment, Expenditure, Addition to Long-Lived Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:to="us-gaap_SegmentExpenditureAdditionToLongLivedAssets_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeRevenueRecognized_lbl0" xml:lang="en-US">Deferred Income, Revenue Recognized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeRevenueRecognized" xlink:to="us-gaap_DeferredIncomeRevenueRecognized_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl0" xml:lang="en-US">Deferred Tax Assets, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl0" xml:lang="en-US">Assets [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerRelationshipsMember_lbl0" xml:lang="en-US">Customer Relationships [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl0" xml:lang="en-US">Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LeaseLiabilitiesMember_lbl0" xml:lang="en-US">Lease Liabilities Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LeaseLiabilitiesMember" xlink:to="rgr_LeaseLiabilitiesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl0" xml:lang="en-US">Earnings Per Share, Diluted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LandImprovementsMember_lbl0" xml:lang="en-US">Land Improvements [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandImprovementsMember" xlink:to="us-gaap_LandImprovementsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl0" xml:lang="en-US">Retained Earnings [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl0" xml:lang="en-US">Deferred Tax Liabilities, Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_AllowanceForDiscountssAccountsReceivableCurrent_lbl1" xml:lang="en-US">Allowance For Discountss Accounts Receivable Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AllowanceForDiscountssAccountsReceivableCurrent" xlink:to="rgr_AllowanceForDiscountssAccountsReceivableCurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl1" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit_lbl0" xml:lang="en-US">Deferred Other Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueAdditions_lbl0" xml:lang="en-US">Deferred Revenue, Additions</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueAdditions" xlink:to="us-gaap_DeferredRevenueAdditions_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract_lbl" xml:lang="en-US">Schedule Of Operating Segment Financial Information Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract" xlink:to="rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl0" xml:lang="en-US">Other Nonoperating Income (Expense)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_DividendsCommonStockUnpaid_lbl1" xml:lang="en-US">Dividends Common Stock Unpaid</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DividendsCommonStockUnpaid" xlink:to="rgr_DividendsCommonStockUnpaid_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_NovemberTwentyThreeToDecemberThirtyOneMember_lbl0" xml:lang="en-US">November Twenty Three To December Thirty One Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NovemberTwentyThreeToDecemberThirtyOneMember" xlink:to="rgr_NovemberTwentyThreeToDecemberThirtyOneMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl0" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, after Year Five</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl0" xml:lang="en-US">Deferred Income Tax Assets, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_NationalRifleAssociationMember_lbl1" xml:lang="en-US">National Rifle Association Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NationalRifleAssociationMember" xlink:to="rgr_NationalRifleAssociationMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedPatentsGross_lbl0" xml:lang="en-US">Finite-Lived Patents, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedPatentsGross" xlink:to="us-gaap_FiniteLivedPatentsGross_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl0" xml:lang="en-US">Fair Value Measurement, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingMember_lbl0" xml:lang="en-US">Building [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingMember" xlink:to="us-gaap_BuildingMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock_lbl0" xml:lang="en-US">Cybersecurity Risk Management Processes for Assessing, Identifying, and Managing Threats [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" xlink:to="cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl0" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Two</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent_lbl0" xml:lang="en-US">Dividends Payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:to="us-gaap_DividendsPayableCurrentAndNoncurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnfairTradePracticesMember_lbl0" xml:lang="en-US">Unfair Trade Practices Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnfairTradePracticesMember" xlink:to="rgr_UnfairTradePracticesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyClaimsSettledNumber_lbl0" xml:lang="en-US">Loss Contingency, Claims Settled, Number</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyClaimsSettledNumber" xlink:to="us-gaap_LossContingencyClaimsSettledNumber_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentIncomeInterest_lbl0" xml:lang="en-US">Investment Income, Interest</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeInterest" xlink:to="us-gaap_InvestmentIncomeInterest_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl1" xml:lang="en-US">Other Assets, Noncurrent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestInJune2024Member_lbl0" xml:lang="en-US">Vest In June2024 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInJune2024Member" xlink:to="rgr_VestInJune2024Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementThirdPartyEngagedFlag_lbl0" xml:lang="en-US">Cybersecurity Risk Management Third Party Engaged [Flag]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementThirdPartyEngagedFlag" xlink:to="cyd_CybersecurityRiskManagementThirdPartyEngagedFlag_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl0" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TrademarkLitigationMember_lbl0" xml:lang="en-US">Trademark Litigation Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TrademarkLitigationMember" xlink:to="rgr_TrademarkLitigationMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl0" xml:lang="en-US">Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_StockRepurchasesDisclosureTextBlock_lbl1" xml:lang="en-US">Stock Repurchases Disclosure Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockRepurchasesDisclosureTextBlock" xlink:to="rgr_StockRepurchasesDisclosureTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl0" xml:lang="en-US">Equity, Attributable to Parent [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableTradeCurrent_lbl0" xml:lang="en-US">Accounts Payable, Trade, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableTradeCurrent" xlink:to="us-gaap_AccountsPayableTradeCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CastingsSalesMember_lbl0" xml:lang="en-US">Castings Sales Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsSalesMember" xlink:to="rgr_CastingsSalesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_JanuaryTwentyEightToFebruaryTwentyFourMember_lbl0" xml:lang="en-US">January Twenty Eight To February Twenty Four Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JanuaryTwentyEightToFebruaryTwentyFourMember" xlink:to="rgr_JanuaryTwentyEightToFebruaryTwentyFourMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_SecondQuarter2024Abstract_lbl0" xml:lang="en-US">Second Quarter2024 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SecondQuarter2024Abstract" xlink:to="rgr_SecondQuarter2024Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_SecondQuarter2024Member_lbl0" xml:lang="en-US">Second Quarter2024 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SecondQuarter2024Member" xlink:to="rgr_SecondQuarter2024Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScenarioForecastMember_lbl0" xml:lang="en-US">Forecast [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioForecastMember" xlink:to="srt_ScenarioForecastMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_DeferredContractRevenueLiability_lbl1" xml:lang="en-US">Deferred Contract Revenue Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DeferredContractRevenueLiability" xlink:to="rgr_DeferredContractRevenueLiability_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl0" xml:lang="en-US">Line of Credit Facility, Unused Capacity, Commitment Fee Percentage</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl0" xml:lang="en-US">Debt Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl0" xml:lang="en-US">Minimum [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl0" xml:lang="en-US">Common Stock, Shares, Outstanding</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_lbl0" xml:lang="en-US">Share Repurchase Program, Authorized, Number of Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:to="srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LossContingencyNumberOfLawsuits_lbl1" xml:lang="en-US">Loss Contingency Number Of Lawsuits</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LossContingencyNumberOfLawsuits" xlink:to="rgr_LossContingencyNumberOfLawsuits_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl0" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Three</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl1" xml:lang="en-US">Depreciation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoods_lbl0" xml:lang="en-US">Inventory, Finished Goods, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock_lbl0" xml:lang="en-US">Cybersecurity Risk Management Processes Integrated [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock" xlink:to="cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl0" xml:lang="en-US">Other Operating Income (Expense), Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl0" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TotalProductLiabilityExpenseMember_lbl0" xml:lang="en-US">Total Product Liability Expense Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TotalProductLiabilityExpenseMember" xlink:to="rgr_TotalProductLiabilityExpenseMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WorkersCompensationLiabilityCurrent_lbl0" xml:lang="en-US">Workers&apos; Compensation Liability, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WorkersCompensationLiabilityCurrent" xlink:to="us-gaap_WorkersCompensationLiabilityCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonMember_lbl0" xml:lang="en-US">Treasury Stock, Common [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl0" xml:lang="en-US">Inventory Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_lbl0" xml:lang="en-US">Accrued Income Taxes, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedIncomeTaxesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl0" xml:lang="en-US">Property, Plant and Equipment, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl0" xml:lang="en-US">Prepaid Expense and Other Assets, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl0" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl0" xml:lang="en-US">Maximum [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonValue_lbl0" xml:lang="en-US">Treasury Stock, Common, Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepositAssets_lbl0" xml:lang="en-US">Deposit Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositAssets" xlink:to="us-gaap_DepositAssets_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_EliminationsMember_lbl0" xml:lang="en-US">Eliminations Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_EliminationsMember" xlink:to="rgr_EliminationsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl0" xml:lang="en-US">UNITED STATES</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl0" xml:lang="en-US">Common Stock, Shares Authorized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ThirdQuarter2022Member_lbl0" xml:lang="en-US">Third Quarter2022 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThirdQuarter2022Member" xlink:to="rgr_ThirdQuarter2022Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CustomerFourMember_lbl0" xml:lang="en-US">Customer Four Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerFourMember" xlink:to="rgr_CustomerFourMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1" xml:lang="en-US">Operating Lease, Liability, Noncurrent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl0" xml:lang="en-US">Revenue from Contract with Customer, Including Assessed Tax</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl0" xml:lang="en-US">Accounts Receivable [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl0" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancialInstrumentsDisclosureTextBlock_lbl0" xml:lang="en-US">Financial Instruments Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:to="us-gaap_FinancialInstrumentsDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl0" xml:lang="en-US">Schedule of Accrued Liabilities [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl1" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl0" xml:lang="en-US">Share-Based Payment Arrangement, Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl0" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_DeferredOfRevenue_lbl1" xml:lang="en-US">Deferred Of Revenue</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DeferredOfRevenue" xlink:to="rgr_DeferredOfRevenue_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl0" xml:lang="en-US">Additional Paid-in Capital [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockExpense_lbl0" xml:lang="en-US">Restricted Stock or Unit Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockExpense" xlink:to="us-gaap_RestrictedStockExpense_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNetAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl" xml:lang="en-US">Deferred Tax Assets, Net [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_lbl0" xml:lang="en-US">Proceeds from Sale, Maturity and Collection of Investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:to="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl0" xml:lang="en-US">Payments for Repurchase of Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl0" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl0" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CommonStockNonVotingParValue1Abstract_lbl0" xml:lang="en-US">Common Stock Non Voting Par Value1 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CommonStockNonVotingParValue1Abstract" xlink:to="rgr_CommonStockNonVotingParValue1Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CustomerOneMember_lbl0" xml:lang="en-US">Customer One Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerOneMember" xlink:to="rgr_CustomerOneMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ShippingCostPolicyPolicyTextBlock_lbl1" xml:lang="en-US">Shipping Cost Policy Policy Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShippingCostPolicyPolicyTextBlock" xlink:to="rgr_ShippingCostPolicyPolicyTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl0" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl0" xml:lang="en-US">Significant Accounting Policies [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl0" xml:lang="en-US">Goodwill</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl0" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FederalIncomeTaxNoteTextBlock_lbl0" xml:lang="en-US">Federal Income Tax Note [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FederalIncomeTaxNoteTextBlock" xlink:to="us-gaap_FederalIncomeTaxNoteTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl0" xml:lang="en-US">Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl0" xml:lang="en-US">Gain (Loss) on Disposition of Property Plant Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ProductLiabilityAccrualNoncurrent_lbl1" xml:lang="en-US">Product Liability Accrual Noncurrent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityAccrualNoncurrent" xlink:to="rgr_ProductLiabilityAccrualNoncurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_SeptemberTwentyNineToOctoberTwentySixMember_lbl0" xml:lang="en-US">September Twenty Nine To October Twenty Six Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SeptemberTwentyNineToOctoberTwentySixMember" xlink:to="rgr_SeptemberTwentyNineToOctoberTwentySixMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl0" xml:lang="en-US">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl0" xml:lang="en-US">Property, Plant and Equipment, Useful Life</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_lbl0" xml:lang="en-US">Dividends Payable, Date of Record</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:to="us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ValuationAllowancesAndReservesSettlements_lbl1" xml:lang="en-US">Valuation Allowances And Reserves Settlements</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ValuationAllowancesAndReservesSettlements" xlink:to="rgr_ValuationAllowancesAndReservesSettlements_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Two</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl0" xml:lang="en-US">Common Stock, Capital Shares Reserved for Future Issuance</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductLiabilityContingenciesTextBlock_lbl0" xml:lang="en-US">Product Liability Contingencies [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityContingenciesTextBlock" xlink:to="us-gaap_ProductLiabilityContingenciesTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_MayTwentySixToJuneTwentyNineMember_lbl0" xml:lang="en-US">May Twenty Six To June Twenty Nine Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_MayTwentySixToJuneTwentyNineMember" xlink:to="rgr_MayTwentySixToJuneTwentyNineMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ThirdQuarter2022Abstract_lbl0" xml:lang="en-US">Third Quarter2022 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThirdQuarter2022Abstract" xlink:to="rgr_ThirdQuarter2022Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl0" xml:lang="en-US">Related Party Transactions Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermLeasePayments_lbl0" xml:lang="en-US">Short-Term Lease Payments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermLeasePayments" xlink:to="us-gaap_ShortTermLeasePayments_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnaffiliatedCastingsMember_lbl1" xml:lang="en-US">Unaffiliated Castings Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnaffiliatedCastingsMember" xlink:to="rgr_UnaffiliatedCastingsMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl0" xml:lang="en-US">Deferred Tax Assets, Inventory</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl0" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl0" xml:lang="en-US">Deferred Compensation Arrangement with Individual, Compensation Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_lbl1" xml:lang="en-US">Share Repurchase Program, Remaining Authorized, Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfTreasuryStockByClassTextBlock_lbl0" xml:lang="en-US">Class of Treasury Stock [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfTreasuryStockByClassTextBlock" xlink:to="us-gaap_ScheduleOfTreasuryStockByClassTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_DateOfRecord_lbl1" xml:lang="en-US">Date Of Record</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DateOfRecord" xlink:to="rgr_DateOfRecord_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_JulyTwentyEightToAugustTwentyFourMember_lbl0" xml:lang="en-US">July Twenty Eight To August Twenty Four Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JulyTwentyEightToAugustTwentyFourMember" xlink:to="rgr_JulyTwentyEightToAugustTwentyFourMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_LipseysMember_lbl1" xml:lang="en-US">Lipseys Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_LipseysMember" xlink:to="rgr_LipseysMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities_lbl1" xml:lang="en-US">Threshold Limit Of Aggregate Loss For Insurance Coverage On Annual Basis Excluding New Claims From Governments Or Municipalities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" xlink:to="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_NationalShootingSportsFoundationMember_lbl0" xml:lang="en-US">National Shooting Sports Foundation Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NationalShootingSportsFoundationMember" xlink:to="rgr_NationalShootingSportsFoundationMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FourthQuarter2022Abstract_lbl0" xml:lang="en-US">Fourth Quarter2022 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2022Abstract" xlink:to="rgr_FourthQuarter2022Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_S2022Q4DividendsMember_lbl0" xml:lang="en-US">S2022 Q4 Dividends Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_S2022Q4DividendsMember" xlink:to="rgr_S2022Q4DividendsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_MarchThirtyOneToAprilTwentySevenMember_lbl0" xml:lang="en-US">March Thirty One To April Twenty Seven Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_MarchThirtyOneToAprilTwentySevenMember" xlink:to="rgr_MarchThirtyOneToAprilTwentySevenMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl2" xml:lang="en-US">Equity, Attributable to Parent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl2"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl0" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesMember_lbl0" xml:lang="en-US">Sales [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesMember" xlink:to="us-gaap_SalesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FirearmsMember_lbl2" xml:lang="en-US">Firearms Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FirearmsMember" xlink:to="rgr_FirearmsMember_lbl2"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl0" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis_lbl1" xml:lang="en-US">Threshold Limit Of Losses Per Transaction For Taking Insurance Coverage On Annual Basis</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" xlink:to="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDividends_lbl0" xml:lang="en-US">Payments of Dividends</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividends" xlink:to="us-gaap_PaymentsOfDividends_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl0" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl0" xml:lang="en-US">Cash and Cash Equivalents, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl0" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_AprilTwentyEightToMayTwentyFiveMember_lbl0" xml:lang="en-US">April Twenty Eight To May Twenty Five Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AprilTwentyEightToMayTwentyFiveMember" xlink:to="rgr_AprilTwentyEightToMayTwentyFiveMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OctoberTwentyNineToNovemberTwentyFiveMember_lbl0" xml:lang="en-US">October Twenty Nine To November Twenty Five Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberTwentyNineToNovemberTwentyFiveMember" xlink:to="rgr_OctoberTwentyNineToNovemberTwentyFiveMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ProductLiabilityCurrent_lbl1" xml:lang="en-US">Product Liability Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityCurrent" xlink:to="rgr_ProductLiabilityCurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl0" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNetAbstract_lbl0" xml:lang="en-US">Inventory, Net [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNetAbstract" xlink:to="us-gaap_InventoryNetAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl0" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl0" xml:lang="en-US">Lease, Cost [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag_lbl0" xml:lang="en-US">Cybersecurity Risk Management Positions or Committees Responsible Report to Board [Flag]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag" xlink:to="cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsMember_lbl0" xml:lang="en-US">Other Assets [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMember" xlink:to="us-gaap_OtherAssetsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl0" xml:lang="en-US">Quarterly Financial Information [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes_lbl1" xml:lang="en-US">Capitalized And Amortized Over For Income Tax Purposes</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes" xlink:to="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesRevenueNetMember_lbl0" xml:lang="en-US">Revenue Benchmark [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanAdministrativeExpenses_lbl0" xml:lang="en-US">Defined Contribution Plan, Administrative Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanAdministrativeExpenses" xlink:to="us-gaap_DefinedContributionPlanAdministrativeExpenses_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl0" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_lbl0" xml:lang="en-US">Other Income and Other Expense Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:to="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl0" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FourthQuarter2023Abstract_lbl0" xml:lang="en-US">Fourth Quarter2023 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2023Abstract" xlink:to="rgr_FourthQuarter2023Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_BadDebtExpenseInTerm_lbl1" xml:lang="en-US">Bad Debt Expense In Term</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_BadDebtExpenseInTerm" xlink:to="rgr_BadDebtExpenseInTerm_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_DirectorMember_lbl0" xml:lang="en-US">Director [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_DirectorMember" xlink:to="srt_DirectorMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_lbl0" xml:lang="en-US">Disposal Groups, Including Discontinued Operations [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" xlink:to="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl0" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl0" xml:lang="en-US">Common Stock, Dividends, Per Share, Declared</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsPerShareDeclared" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl0" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_AccruedLegalExpenseMember_lbl0" xml:lang="en-US">Accrued Legal Expense Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AccruedLegalExpenseMember" xlink:to="rgr_AccruedLegalExpenseMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl0" xml:lang="en-US">Payment, Tax Withholding, Share-Based Payment Arrangement</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OctoberOneToOctoberTwentyEightMember_lbl0" xml:lang="en-US">October One To October Twenty Eight Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberOneToOctoberTwentyEightMember" xlink:to="rgr_OctoberOneToOctoberTwentyEightMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_lbl0" xml:lang="en-US">Operating Expenses</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">Statement of Financial Position [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl0" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Employee Compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl0" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CorporatesMember_lbl0" xml:lang="en-US">Corporates Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CorporatesMember" xlink:to="rgr_CorporatesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl0" xml:lang="en-US">Research and Development Expense, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_NetIncreaseInFirearmsSales_lbl1" xml:lang="en-US">Net Increase In Firearms Sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NetIncreaseInFirearmsSales" xlink:to="rgr_NetIncreaseInFirearmsSales_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl0" xml:lang="en-US">Deferred Tax Liabilities, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfOtherAssetsAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfOtherAssetsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfOtherAssetsAbstract_lbl" xml:lang="en-US">Schedule Of Other Assets Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfOtherAssetsAbstract" xlink:to="rgr_ScheduleOfOtherAssetsAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract_lbl" xml:lang="en-US">Schedule Of Roll Forward For Product Liability Reserve Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract" xlink:to="rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_InsurancePremiumExpenseMember_lbl0" xml:lang="en-US">Insurance Premium Expense Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_InsurancePremiumExpenseMember" xlink:to="rgr_InsurancePremiumExpenseMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl0" xml:lang="en-US">Deferred State and Local Income Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl0" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CastingsAbstract_lbl0" xml:lang="en-US">Castings Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsAbstract" xlink:to="rgr_CastingsAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_IntersegmentMember_lbl0" xml:lang="en-US">Intersegment Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IntersegmentMember" xlink:to="rgr_IntersegmentMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TrademarkLawsuitMember_lbl0" xml:lang="en-US">Trademark Lawsuit Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TrademarkLawsuitMember" xlink:to="rgr_TrademarkLawsuitMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1_lbl0" xml:lang="en-US">Line of Credit Facility, Expiration Date</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityExpirationDate1" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued_lbl0" xml:lang="en-US">Product Liability Contingency, Disbursement Period, Estimate, Accrued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued" xlink:to="us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl0" xml:lang="en-US">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl0" xml:lang="en-US">Share-Based Payment Arrangement, Noncash Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfReportableSegments_lbl0" xml:lang="en-US">Number of Reportable Segments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ToolsDiesAndMoldsMember_lbl1" xml:lang="en-US">Tools, Dies and Molds [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ToolsDiesAndMoldsMember" xlink:to="us-gaap_ToolsDiesAndMoldsMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ExportSalesMember_lbl0" xml:lang="en-US">Export Sales Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ExportSalesMember" xlink:to="rgr_ExportSalesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl0" xml:lang="en-US">Inventory, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ExcessAndObsolescenceInventoryReserve_lbl1" xml:lang="en-US">Excess And Obsolescence Inventory Reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ExcessAndObsolescenceInventoryReserve" xlink:to="rgr_ExcessAndObsolescenceInventoryReserve_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract_lbl0" xml:lang="en-US">Segment Reporting Information, Income (Loss) before Income Taxes [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract" xlink:to="us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OperatingLeaseMember_lbl0" xml:lang="en-US">Operating Lease Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OperatingLeaseMember" xlink:to="rgr_OperatingLeaseMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock_lbl0" xml:lang="en-US">Cybersecurity Risk Management Expertise of Management Responsible [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock" xlink:to="cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_NovemberTwentySixToDecemberThirtyOneMember_lbl0" xml:lang="en-US">November Twenty Six To December Thirty One Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NovemberTwentySixToDecemberThirtyOneMember" xlink:to="rgr_NovemberTwentySixToDecemberThirtyOneMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl0" xml:lang="en-US">Commitments and Contingencies</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl0" xml:lang="en-US">Income Taxes Paid, Net</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyClaimsDismissedNumber_lbl0" xml:lang="en-US">Loss Contingency, Claims Dismissed, Number</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyClaimsDismissedNumber" xlink:to="us-gaap_LossContingencyClaimsDismissedNumber_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl0" xml:lang="en-US">Common Stock, Value, Issued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl1" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_SportsSouthMember_lbl1" xml:lang="en-US">Sports South Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_SportsSouthMember" xlink:to="rgr_SportsSouthMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_IncreaseDecreaseInProductLiability_lbl1" xml:lang="en-US">Increase Decrease In Product Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_IncreaseDecreaseInProductLiability" xlink:to="rgr_IncreaseDecreaseInProductLiability_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl0" xml:lang="en-US">Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl0" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_lbl0" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_lbl0" xml:lang="en-US">Operating Lease, Payments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingExpense_lbl0" xml:lang="en-US">Selling Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingExpense" xlink:to="us-gaap_SellingExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl0" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryGross_lbl1" xml:lang="en-US">Inventory, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryGross_lbl1"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsAbstract_lbl" xml:lang="en-US">Schedule Of Operating Lease Liabilities Future Minimum Lease Payments Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsAbstract" xlink:to="rgr_ScheduleOfOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_UnrecognizedCompensationCost_lbl1" xml:lang="en-US">Unrecognized Compensation Cost</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_UnrecognizedCompensationCost" xlink:to="rgr_UnrecognizedCompensationCost_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl0" xml:lang="en-US">Loans, Notes, Trade and Other Receivables Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl1" xml:lang="en-US">Cost of Goods and Services Sold</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US">Statement of Stockholders&apos; Equity [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl0" xml:lang="en-US">Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl0" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Five</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl1" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock_lbl0" xml:lang="en-US">Cybersecurity Risk Board Committee or Subcommittee Responsible for Oversight [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:to="cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FirstQuarter2024Member_lbl0" xml:lang="en-US">First Quarter2024 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FirstQuarter2024Member" xlink:to="rgr_FirstQuarter2024Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl0" xml:lang="en-US">Income Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl0" xml:lang="en-US">Amortization of Intangible Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_DavidsonsMember_lbl1" xml:lang="en-US">Davidsons Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DavidsonsMember" xlink:to="rgr_DavidsonsMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl0" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl0"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">Income Statement [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl0" xml:lang="en-US">Lessee, Operating Leases [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RoyaltyIncomeNonoperating_lbl0" xml:lang="en-US">Royalty Income, Nonoperating</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RoyaltyIncomeNonoperating" xlink:to="us-gaap_RoyaltyIncomeNonoperating_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CustomerTwoMember_lbl0" xml:lang="en-US">Customer Two Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerTwoMember" xlink:to="rgr_CustomerTwoMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl0" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl0" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IndefiniteLivedTradeNames_lbl0" xml:lang="en-US">Indefinite-Lived Trade Names</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedTradeNames" xlink:to="us-gaap_IndefiniteLivedTradeNames_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl0" xml:lang="en-US">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfPropertyPlantAndEquipmentAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfPropertyPlantAndEquipmentAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfPropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Schedule Of Property Plant And Equipment Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfPropertyPlantAndEquipmentAbstract" xlink:to="rgr_ScheduleOfPropertyPlantAndEquipmentAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl0" xml:lang="en-US">Revenue, Remaining Performance Obligation, Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl0" xml:lang="en-US">Earnings Per Share, Basic</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl0" xml:lang="en-US">Accounts Receivable, before Allowance for Credit Loss, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGrossCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireInvestments_lbl0" xml:lang="en-US">Payments to Acquire Investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesAbstract_lbl0" xml:lang="en-US">Revenues [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenuesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl1" xml:lang="en-US">Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl0" xml:lang="en-US">Research and Development Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl0" xml:lang="en-US">Accounts Receivable [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl0" xml:lang="en-US">Subsequent Events [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl0" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAbstract_lbl0" xml:lang="en-US">Components of Deferred Tax Assets [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl0" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_NetDecreaseInFirearmsSales_lbl1" xml:lang="en-US">Net Decrease In Firearms Sales</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NetDecreaseInFirearmsSales" xlink:to="rgr_NetDecreaseInFirearmsSales_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CastingsUnaffiliatedMember_lbl0" xml:lang="en-US">Castings Unaffiliated Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsUnaffiliatedMember" xlink:to="rgr_CastingsUnaffiliatedMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl0" xml:lang="en-US">Increase (Decrease) in Inventories</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl0" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl0" xml:lang="en-US">Additional Paid in Capital, Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl0" xml:lang="en-US">Inventory, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TradeNameMember_lbl0" xml:lang="en-US">Trade Name Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeNameMember" xlink:to="rgr_TradeNameMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl0" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_RecognizedCostsOfRestrictedStockUnits_lbl1" xml:lang="en-US">Recognized Costs Of Restricted Stock Units</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_RecognizedCostsOfRestrictedStockUnits" xlink:to="rgr_RecognizedCostsOfRestrictedStockUnits_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl0" xml:lang="en-US">Shares Acquired, Average Cost Per Share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl0" xml:lang="en-US">Machinery and Equipment [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_lbl0" xml:lang="en-US">Deferred Tax Asset, In-Process Research and Development</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl0" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent_lbl0" xml:lang="en-US">Accrued Employee Benefits, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl0" xml:lang="en-US">Property, Plant and Equipment, Gross</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryLIFOReserve_lbl1" xml:lang="en-US">Inventory, LIFO Reserve</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryLIFOReserve" xlink:to="us-gaap_InventoryLIFOReserve_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_StockIncentivePlan2017Member_lbl1" xml:lang="en-US">Stock Incentive Plan2017 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockIncentivePlan2017Member" xlink:to="rgr_StockIncentivePlan2017Member_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpenseNonoperating_lbl0" xml:lang="en-US">Interest Expense, Nonoperating</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseNonoperating" xlink:to="us-gaap_InterestExpenseNonoperating_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAbstract_lbl0" xml:lang="en-US">Net Income (Loss) Attributable to Parent [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAbstract" xlink:to="us-gaap_NetIncomeLossAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OctoberThirtyToNovemberTwentySevenMember_lbl0" xml:lang="en-US">October Thirty To November Twenty Seven Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberThirtyToNovemberTwentySevenMember" xlink:to="rgr_OctoberThirtyToNovemberTwentySevenMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementProcessesIntegratedFlag_lbl0" xml:lang="en-US">Cybersecurity Risk Management Processes Integrated [Flag]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementProcessesIntegratedFlag" xlink:to="cyd_CybersecurityRiskManagementProcessesIntegratedFlag_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventMember_lbl0" xml:lang="en-US">Subsequent Event [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_lbl0" xml:lang="en-US">Defined Contribution Plan, Employer Discretionary Contribution Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:to="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl0" xml:lang="en-US">Increase (Decrease) in Employee Related Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract_lbl" xml:lang="en-US">Schedule Of AReconciliation Of The Numerator And Denominator For The Basic And Diluted Earnings Per Share Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:to="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsMiscellaneous_lbl0" xml:lang="en-US">Other Assets, Miscellaneous</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMiscellaneous" xlink:to="us-gaap_OtherAssetsMiscellaneous_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiability_lbl1" xml:lang="en-US">Contract with Customer, Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Four</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl0"/>
    <loc xlink:type="locator" xlink:label="cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract_lbl" xml:lang="en-US">Cybersecurity Risk Management, Strategy, and Governance [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract" xlink:to="cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl0" xml:lang="en-US">Right-of-Use Asset Obtained in Exchange for Finance Lease Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_StockIncentivePlan2023Member_lbl0" xml:lang="en-US">Stock Incentive Plan2023 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_StockIncentivePlan2023Member" xlink:to="rgr_StockIncentivePlan2023Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FourthQuarter2024Abstract_lbl0" xml:lang="en-US">Fourth Quarter2024 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2024Abstract" xlink:to="rgr_FourthQuarter2024Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_lbl1" xml:lang="en-US">Operating Income (Loss)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsCommonStock_lbl0" xml:lang="en-US">Dividends, Common Stock</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsCommonStock" xlink:to="us-gaap_DividendsCommonStock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CostsOfGoodsSoldAbstract_lbl0" xml:lang="en-US">Costs Of Goods Sold Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CostsOfGoodsSoldAbstract" xlink:to="rgr_CostsOfGoodsSoldAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, after Year Five</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_lbl1" xml:lang="en-US">Operating Lease, Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Property, Plant and Equipment [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ThirdQuarter2024Member_lbl0" xml:lang="en-US">Third Quarter2024 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThirdQuarter2024Member" xlink:to="rgr_ThirdQuarter2024Member_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract_lbl" xml:lang="en-US">Schedule Of Repurchased Shares Of Its Common Stock Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract" xlink:to="rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CastingsAbstract0_lbl0" xml:lang="en-US">Castings Abstract0</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsAbstract0" xlink:to="rgr_CastingsAbstract0_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OctoberTwoToOctoberTwentyNineMember_lbl0" xml:lang="en-US">October Two To October Twenty Nine Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberTwoToOctoberTwentyNineMember" xlink:to="rgr_OctoberTwoToOctoberTwentyNineMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract_lbl0" xml:lang="en-US">Other Income and Expenses [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_OtherIncomeAndExpensesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfOtherAssetsTableTextBlock_lbl0" xml:lang="en-US">Schedule of Other Assets [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfOtherAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfOtherAssetsTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl0" xml:lang="en-US">Common Stock [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock_lbl0" xml:lang="en-US">Cybersecurity Risk Process for Informing Board Committee or Subcommittee Responsible for Oversight [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" xlink:to="cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_AugustTwentyFiveToSeptemberTwentyEightMember_lbl0" xml:lang="en-US">August Twenty Five To September Twenty Eight Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AugustTwentyFiveToSeptemberTwentyEightMember" xlink:to="rgr_AugustTwentyFiveToSeptemberTwentyEightMember_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfRevenueRecognizedAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfRevenueRecognizedAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfRevenueRecognizedAbstract_lbl" xml:lang="en-US">Schedule Of Revenue Recognized Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfRevenueRecognizedAbstract" xlink:to="rgr_ScheduleOfRevenueRecognizedAbstract_lbl"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">Statement of Cash Flows [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl0" xml:lang="en-US">Income Tax Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl0" xml:lang="en-US">Operating Lease, Liability, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdvertisingExpense_lbl0" xml:lang="en-US">Advertising Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingExpense" xlink:to="us-gaap_AdvertisingExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CustomerThreeMember_lbl0" xml:lang="en-US">Customer Three Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CustomerThreeMember" xlink:to="rgr_CustomerThreeMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl0" xml:lang="en-US">Noncash Investing and Financing Items [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock_lbl0" xml:lang="en-US">Legal Matters and Contingencies [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:to="us-gaap_LegalMattersAndContingenciesTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl0" xml:lang="en-US">Deferred Tax Assets, Other</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationEffectOnEarningsPerShare_lbl0" xml:lang="en-US">Share-Based Payment Arrangement, Earnings Per Share Computation, Description</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationEffectOnEarningsPerShare" xlink:to="us-gaap_SharebasedCompensationEffectOnEarningsPerShare_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_AugustTwentyEightToOctoberOneMember_lbl0" xml:lang="en-US">August Twenty Eight To October One Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_AugustTwentyEightToOctoberOneMember" xlink:to="rgr_AugustTwentyEightToOctoberOneMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ShippingCosts_lbl1" xml:lang="en-US">Shipping Costs</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ShippingCosts" xlink:to="rgr_ShippingCosts_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FourthQuarter2024Member_lbl0" xml:lang="en-US">Fourth Quarter2024 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2024Member" xlink:to="rgr_FourthQuarter2024Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_DeferredStockMember_lbl1" xml:lang="en-US">Deferred Stock Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_DeferredStockMember" xlink:to="rgr_DeferredStockMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl0" xml:lang="en-US">Liabilities, Current [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestInMay2023Member_lbl0" xml:lang="en-US">Vest In May2023 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInMay2023Member" xlink:to="rgr_VestInMay2023Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OrganizationPolicyTextBlock_lbl1" xml:lang="en-US">Organization Policy Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OrganizationPolicyTextBlock" xlink:to="rgr_OrganizationPolicyTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock_lbl0" xml:lang="en-US">Advertising Cost [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationAbstract_lbl0" xml:lang="en-US">Depreciation [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAbstract" xlink:to="us-gaap_DepreciationAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestInJune2026Member_lbl0" xml:lang="en-US">Vest In June2026 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInJune2026Member" xlink:to="rgr_VestInJune2026Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfOtherAssets_lbl0" xml:lang="en-US">Gain (Loss) on Disposition of Other Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfOtherAssets" xlink:to="us-gaap_GainLossOnSaleOfOtherAssets_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl0" xml:lang="en-US">Stock Repurchased During Period, Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestingInMay2025Member_lbl0" xml:lang="en-US">Vesting In May2025 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestingInMay2025Member" xlink:to="rgr_VestingInMay2025Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl0" xml:lang="en-US">Stock Repurchased During Period, Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TradeAccountsPayableAndAccruedExpensesMember_lbl0" xml:lang="en-US">Trade Accounts Payable And Accrued Expenses Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TradeAccountsPayableAndAccruedExpensesMember" xlink:to="rgr_TradeAccountsPayableAndAccruedExpensesMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl0" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Five</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl0" xml:lang="en-US">Share-Based Payment Arrangement [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl0" xml:lang="en-US">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock_lbl0" xml:lang="en-US">Cybersecurity Risk Process for Informing Management or Committees Responsible [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock" xlink:to="cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsDisclosureTextBlock_lbl0" xml:lang="en-US">Other Assets Disclosure [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsDisclosureTextBlock" xlink:to="us-gaap_OtherAssetsDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_lbl0" xml:lang="en-US">Intangible Assets, Net (Excluding Goodwill) [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ProductLiabilityReserveMemberMember_lbl0" xml:lang="en-US">Product Liability Reserve Member Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ProductLiabilityReserveMemberMember" xlink:to="rgr_ProductLiabilityReserveMemberMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableAmountPerShare_lbl1" xml:lang="en-US">Dividends Payable, Amount Per Share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableAmountPerShare" xlink:to="us-gaap_DividendsPayableAmountPerShare_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyDamagesSoughtValue_lbl0" xml:lang="en-US">Loss Contingency, Damages Sought, Value</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyDamagesSoughtValue" xlink:to="us-gaap_LossContingencyDamagesSoughtValue_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl0" xml:lang="en-US">Increase (Decrease) in Accounts Payable and Accrued Liabilities</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl0" xml:lang="en-US">Earnings Per Share [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FebruaryTwentyFiveToMarchThirtyMember_lbl0" xml:lang="en-US">February Twenty Five To March Thirty Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FebruaryTwentyFiveToMarchThirtyMember" xlink:to="rgr_FebruaryTwentyFiveToMarchThirtyMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl0" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_lbl1" xml:lang="en-US">Revenues</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl1" xml:lang="en-US">Accounts Payable and Accrued Liabilities, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl1" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonShares_lbl0" xml:lang="en-US">Treasury Stock, Common, Shares</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl0" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl0" xml:lang="en-US">Current State and Local Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_JulyThirtyoneToAugustTwentySevenMember_lbl0" xml:lang="en-US">July Thirtyone To August Twenty Seven Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JulyThirtyoneToAugustTwentySevenMember" xlink:to="rgr_JulyThirtyoneToAugustTwentySevenMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestInJune2025Member_lbl0" xml:lang="en-US">Vest In June2025 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInJune2025Member" xlink:to="rgr_VestInJune2025Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl0" xml:lang="en-US">General and Administrative Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl0" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_NegligenceLawsuitMember_lbl0" xml:lang="en-US">Negligence Lawsuit Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NegligenceLawsuitMember" xlink:to="rgr_NegligenceLawsuitMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl1" xml:lang="en-US">Concentration Risk, Percentage</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl0" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl0" xml:lang="en-US">Revenue [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl0" xml:lang="en-US">Depreciation, Depletion and Amortization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl0" xml:lang="en-US">Contract with Customer, Liability, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock_lbl0" xml:lang="en-US">Cybersecurity Risk Board of Directors Oversight [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock" xlink:to="cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl0" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_CastingsMember_lbl0" xml:lang="en-US">Castings Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_CastingsMember" xlink:to="rgr_CastingsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_MunicipalLawsuitMember_lbl0" xml:lang="en-US">Municipal Lawsuit Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_MunicipalLawsuitMember" xlink:to="rgr_MunicipalLawsuitMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionAmountsOfTransaction_lbl0" xml:lang="en-US">Related Party Transaction, Amounts of Transaction</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:to="us-gaap_RelatedPartyTransactionAmountsOfTransaction_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl0" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl0" xml:lang="en-US">Common Stock, Shares, Issued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FourthQuarter2023Member_lbl0" xml:lang="en-US">Fourth Quarter2023 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2023Member" xlink:to="rgr_FourthQuarter2023Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendPayableDateToBePaidDayMonthAndYear_lbl0" xml:lang="en-US">Dividends Payable, Date to be Paid</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendPayableDateToBePaidDayMonthAndYear" xlink:to="us-gaap_DividendPayableDateToBePaidDayMonthAndYear_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonvotingCommonStockMember_lbl0" xml:lang="en-US">Nonvoting Common Stock [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonvotingCommonStockMember" xlink:to="us-gaap_NonvotingCommonStockMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl1" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl0" xml:lang="en-US">Inventory, Work in Process and Raw Materials</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:to="us-gaap_InventoryWorkInProcessAndRawMaterials_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_lbl2" xml:lang="en-US">Gross Profit</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl2"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense_lbl1" xml:lang="en-US">Product Liability Accrual, Period Expense</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:to="us-gaap_ProductLiabilityAccrualPeriodExpense_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl0" xml:lang="en-US">Retirement Benefits [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_PreparationOfFinancialStatementsPolicyTextBlock_lbl1" xml:lang="en-US">Preparation Of Financial Statements Policy Text Block</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_PreparationOfFinancialStatementsPolicyTextBlock" xlink:to="rgr_PreparationOfFinancialStatementsPolicyTextBlock_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilityReserveEstimatePolicy_lbl0" xml:lang="en-US">Liability Reserve Estimate, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilityReserveEstimatePolicy" xlink:to="us-gaap_LiabilityReserveEstimatePolicy_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_OctoberTwentySevenToNovemberTwentyThreeMember_lbl0" xml:lang="en-US">October Twenty Seven To November Twenty Three Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_OctoberTwentySevenToNovemberTwentyThreeMember" xlink:to="rgr_OctoberTwentySevenToNovemberTwentyThreeMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl1" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ThirdQuarter2024Abstract_lbl0" xml:lang="en-US">Third Quarter2024 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ThirdQuarter2024Abstract" xlink:to="rgr_ThirdQuarter2024Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl0" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermInvestments_lbl0" xml:lang="en-US">Short-Term Investments</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_JohnACosentinoJrMember_lbl0" xml:lang="en-US">John ACosentino Jr Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JohnACosentinoJrMember" xlink:to="rgr_JohnACosentinoJrMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_GrossProfitLossAbstract_lbl0" xml:lang="en-US">Gross Profit Loss Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_GrossProfitLossAbstract" xlink:to="rgr_GrossProfitLossAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember_lbl0" xml:lang="en-US">Building and Building Improvements [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl0" xml:lang="en-US">Assets, Current [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductLiabilityAccrualComponentAmount_lbl0" xml:lang="en-US">Product Liability Accrual, Component Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductLiabilityAccrualComponentAmount" xlink:to="us-gaap_ProductLiabilityAccrualComponentAmount_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfProductiveAssets_lbl0" xml:lang="en-US">Proceeds from Sale of Productive Assets</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:to="us-gaap_ProceedsFromSaleOfProductiveAssets_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl0" xml:lang="en-US">Liabilities, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl0" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Four</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl0" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_EmployeeCompensation_lbl1" xml:lang="en-US">Employee Compensation</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_EmployeeCompensation" xlink:to="rgr_EmployeeCompensation_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl0" xml:lang="en-US">Deferred Tax Liabilities, Property, Plant and Equipment</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_JanuaryOneToJanuaryTwentySevenMember_lbl0" xml:lang="en-US">January One To January Twenty Seven Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JanuaryOneToJanuaryTwentySevenMember" xlink:to="rgr_JanuaryOneToJanuaryTwentySevenMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl0" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl0" xml:lang="en-US">Liabilities and Equity [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl0" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Three</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl0" xml:lang="en-US">Customer Concentration Risk [Member]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock_lbl0" xml:lang="en-US">Quarterly Financial Information [Text Block]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl0" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl0" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl0"/>
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfProductLiabilityExpenseAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfProductLiabilityExpenseAbstract"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_ScheduleOfProductLiabilityExpenseAbstract_lbl" xml:lang="en-US">Schedule Of Product Liability Expense Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_ScheduleOfProductLiabilityExpenseAbstract" xlink:to="rgr_ScheduleOfProductLiabilityExpenseAbstract_lbl"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_VestInJune2027Member_lbl0" xml:lang="en-US">Vest In June2027 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_VestInJune2027Member" xlink:to="rgr_VestInJune2027Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockSharesAcquired_lbl0" xml:lang="en-US">Treasury Stock, Shares, Acquired</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockSharesAcquired" xlink:to="us-gaap_TreasuryStockSharesAcquired_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl0" xml:lang="en-US">Deferred Compensation Arrangement with Individual, Shares Issued</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl1" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl0" xml:lang="en-US">Liabilities and Equity</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl0" xml:lang="en-US">Current Income Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber_lbl0" xml:lang="en-US">Loss Contingency, New Claims Filed, Number</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyNewClaimsFiledNumber" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl0" xml:lang="en-US">Nonoperating Income (Expense)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FourthQuarter2022Member_lbl0" xml:lang="en-US">Fourth Quarter2022 Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FourthQuarter2022Member" xlink:to="rgr_FourthQuarter2022Member_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_TraditionalProductLiabilityLawsuitMember_lbl0" xml:lang="en-US">Traditional Product Liability Lawsuit Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_TraditionalProductLiabilityLawsuitMember" xlink:to="rgr_TraditionalProductLiabilityLawsuitMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_JuneThirtyToJulyTwentySevenMember_lbl0" xml:lang="en-US">June Thirty To July Twenty Seven Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JuneThirtyToJulyTwentySevenMember" xlink:to="rgr_JuneThirtyToJulyTwentySevenMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl0" xml:lang="en-US">Current Federal Tax Expense (Benefit)</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_NovemberTwentySevenToDecemberThirtyOneMember_lbl0" xml:lang="en-US">November Twenty Seven To December Thirty One Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_NovemberTwentySevenToDecemberThirtyOneMember" xlink:to="rgr_NovemberTwentySevenToDecemberThirtyOneMember_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_lbl0" xml:lang="en-US">Components of Deferred Tax Liabilities [Abstract]</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryValuationReserves_lbl1" xml:lang="en-US">Inventory Valuation Reserves</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves_lbl1"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl0" xml:lang="en-US">Operating Lease, Right-of-Use Asset</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl0" xml:lang="en-US">Assets, Current</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_FirstQuarter2024Abstract_lbl0" xml:lang="en-US">First Quarter2024 Abstract</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_FirstQuarter2024Abstract" xlink:to="rgr_FirstQuarter2024Abstract_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl0" xml:lang="en-US">Increase (Decrease) in Income Taxes Payable</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl0"/>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="rgr_JulyThreeToJulyThirtyMember_lbl0" xml:lang="en-US">July Three To July Thirty Member</label>
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="rgr_JulyThreeToJulyThirtyMember" xlink:to="rgr_JulyThreeToJulyThirtyMember_lbl0"/>
  </labelLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>12
<FILENAME>rgr-20241231_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Wed Feb 19 03:12:50 UTC 2025 -->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" 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:xbrldt="http://xbrl.org/2005/xbrldt">
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#IndividualsOnly" roleURI="http://xbrl.sec.gov/ecd/role/IndividualsOnly"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ConsolidatedBalanceSheet" roleURI="http://www.ruger.com/role/ConsolidatedBalanceSheet"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ConsolidatedBalanceSheet_Parentheticals" roleURI="http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ConsolidatedIncomeStatement" roleURI="http://www.ruger.com/role/ConsolidatedIncomeStatement"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ShareholdersEquityType2or3" roleURI="http://www.ruger.com/role/ShareholdersEquityType2or3"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ShareholdersEquityType2or3_Parentheticals" roleURI="http://www.ruger.com/role/ShareholdersEquityType2or3_Parentheticals"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ConsolidatedCashFlow" roleURI="http://www.ruger.com/role/ConsolidatedCashFlow"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_SummaryofSignificantAccountingPolicies" roleURI="http://www.ruger.com/role/SummaryofSignificantAccountingPolicies"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_RevenueRecognitionandContractswithCustomers" roleURI="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomers"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_TradeReceivablesNet" roleURI="http://www.ruger.com/role/TradeReceivablesNet"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_Inventories" roleURI="http://www.ruger.com/role/Inventories"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_PropertyPlantandEquipment" roleURI="http://www.ruger.com/role/PropertyPlantandEquipment"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OtherAssets" roleURI="http://www.ruger.com/role/OtherAssets"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_LeasedAssets" roleURI="http://www.ruger.com/role/LeasedAssets"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_TradeAccountsPayableandAccruedExpenses" roleURI="http://www.ruger.com/role/TradeAccountsPayableandAccruedExpenses"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_AccruedDividends" roleURI="http://www.ruger.com/role/AccruedDividends"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_LineofCredit" roleURI="http://www.ruger.com/role/LineofCredit"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_EmployeeBenefitPlans" roleURI="http://www.ruger.com/role/EmployeeBenefitPlans"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OtherOperatingIncomeNet" roleURI="http://www.ruger.com/role/OtherOperatingIncomeNet"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_IncomeTaxes" roleURI="http://www.ruger.com/role/IncomeTaxes"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_EarningsPerShare" roleURI="http://www.ruger.com/role/EarningsPerShare"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_StockRepurchases" roleURI="http://www.ruger.com/role/StockRepurchases"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_CompensationPlans" roleURI="http://www.ruger.com/role/CompensationPlans"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OperatingSegmentInformation" roleURI="http://www.ruger.com/role/OperatingSegmentInformation"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_QuarterlyResultsofOperationsUnaudited" roleURI="http://www.ruger.com/role/QuarterlyResultsofOperationsUnaudited"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_RelatedPartyTransactions" roleURI="http://www.ruger.com/role/RelatedPartyTransactions"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ContingentLiabilities" roleURI="http://www.ruger.com/role/ContingentLiabilities"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_FinancialInstruments" roleURI="http://www.ruger.com/role/FinancialInstruments"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_SubsequentEvents" roleURI="http://www.ruger.com/role/SubsequentEvents"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_AccountingPoliciesByPolicy" roleURI="http://www.ruger.com/role/AccountingPoliciesByPolicy"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_RevenueRecognitionandContractswithCustomersTables" roleURI="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_TradeReceivablesNetTables" roleURI="http://www.ruger.com/role/TradeReceivablesNetTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_InventoriesTables" roleURI="http://www.ruger.com/role/InventoriesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_PropertyPlantandEquipmentTables" roleURI="http://www.ruger.com/role/PropertyPlantandEquipmentTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OtherAssetsTables" roleURI="http://www.ruger.com/role/OtherAssetsTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_LeasedAssetsTables" roleURI="http://www.ruger.com/role/LeasedAssetsTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_TradeAccountsPayableandAccruedExpensesTables" roleURI="http://www.ruger.com/role/TradeAccountsPayableandAccruedExpensesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OtherOperatingIncomeNetTables" roleURI="http://www.ruger.com/role/OtherOperatingIncomeNetTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_IncomeTaxesTables" roleURI="http://www.ruger.com/role/IncomeTaxesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_EarningsPerShareTables" roleURI="http://www.ruger.com/role/EarningsPerShareTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_StockRepurchasesTables" roleURI="http://www.ruger.com/role/StockRepurchasesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OperatingSegmentInformationTables" roleURI="http://www.ruger.com/role/OperatingSegmentInformationTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_QuarterlyResultsofOperationsUnauditedTables" roleURI="http://www.ruger.com/role/QuarterlyResultsofOperationsUnauditedTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ContingentLiabilitiesTables" roleURI="http://www.ruger.com/role/ContingentLiabilitiesTables"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofRevenueRecognizedTable" roleURI="http://www.ruger.com/role/ScheduleofRevenueRecognizedTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofTradeReceivablesTable" roleURI="http://www.ruger.com/role/ScheduleofTradeReceivablesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofInventoriesTable" roleURI="http://www.ruger.com/role/ScheduleofInventoriesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofPropertyPlantandEquipmentTable" roleURI="http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofOtherAssetsTable" roleURI="http://www.ruger.com/role/ScheduleofOtherAssetsTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable" roleURI="http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofTradeAccountsPayableandAccruedExpensesTable" roleURI="http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofOtherOperatingIncomeNetTable" roleURI="http://www.ruger.com/role/ScheduleofOtherOperatingIncomeNetTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofFederalandStateIncomeTaxProvisionTable" roleURI="http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofEffectiveIncomeTaxRateReconciliationTable" roleURI="http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofDeferredTaxAssetsandLiabilitiesTable" roleURI="http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable" roleURI="http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofRepurchasedSharesofitsCommonStockTable" roleURI="http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofOperatingSegmentFinancialInformationTable" roleURI="http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofQuarterlyFinancialInformationTable" roleURI="http://www.ruger.com/role/ScheduleofQuarterlyFinancialInformationTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofRollforwardforProductLiabilityReserveTable" roleURI="http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofProductLiabilityExpenseTable" roleURI="http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities" roleURI="http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"/>
  <roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd#CybersecurityRiskManagementAndStrategyDisclosure" roleURI="http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_SummaryofSignificantAccountingPoliciesDetails" roleURI="http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_RevenueRecognitionandContractswithCustomersDetails" roleURI="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_TradeReceivablesNetDetails" roleURI="http://www.ruger.com/role/TradeReceivablesNetDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_PropertyPlantandEquipmentDetails" roleURI="http://www.ruger.com/role/PropertyPlantandEquipmentDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OtherAssetsDetails" roleURI="http://www.ruger.com/role/OtherAssetsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_LeasedAssetsDetails" roleURI="http://www.ruger.com/role/LeasedAssetsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_AccruedDividendsDetails" roleURI="http://www.ruger.com/role/AccruedDividendsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_LineofCreditDetails" roleURI="http://www.ruger.com/role/LineofCreditDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_EmployeeBenefitPlansDetails" roleURI="http://www.ruger.com/role/EmployeeBenefitPlansDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_IncomeTaxesDetails" roleURI="http://www.ruger.com/role/IncomeTaxesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_StockRepurchasesDetails" roleURI="http://www.ruger.com/role/StockRepurchasesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_CompensationPlansDetails" roleURI="http://www.ruger.com/role/CompensationPlansDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_OperatingSegmentInformationDetails" roleURI="http://www.ruger.com/role/OperatingSegmentInformationDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_RelatedPartyTransactionsDetails" roleURI="http://www.ruger.com/role/RelatedPartyTransactionsDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ContingentLiabilitiesDetails" roleURI="http://www.ruger.com/role/ContingentLiabilitiesDetails"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_SubsequentEventsDetails" roleURI="http://www.ruger.com/role/SubsequentEventsDetails"/>
  <arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default"/>
  <arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain"/>
  <arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension"/>
  <arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member"/>
  <arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all"/>
  <definitionLink xlink:role="http://xbrl.sec.gov/ecd/role/IndividualsOnly" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="ecd_AllIndividualsMember" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_AllIndividualsMember"/>
    <loc xlink:type="locator" xlink:label="rgr_JohnACosentinoJrMember" xlink:href="rgr-20241231.xsd#rgr_JohnACosentinoJrMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ecd_AllIndividualsMember" xlink:to="rgr_JohnACosentinoJrMember" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ConsolidatedBalanceSheet" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfStockDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonvotingCommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonvotingCommonStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_NonvotingCommonStockMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_CommonStockMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShortTermInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermInvestments"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShortTermInvestments" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryGross" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryLIFOReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLIFOReserve"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryLIFOReserve" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryValuationReserves"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryValuationReserves" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryNet" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrent" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherAssetsNoncurrent" order="13" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Assets" order="14" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" order="15" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="16" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityCurrent" xlink:href="rgr-20241231.xsd#rgr_ProductLiabilityCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgr_ProductLiabilityCurrent" order="17" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent" order="18" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WorkersCompensationLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WorkersCompensationLiabilityCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WorkersCompensationLiabilityCurrent" order="19" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrent" order="20" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="21" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_EmployeeCompensation" xlink:href="rgr-20241231.xsd#rgr_EmployeeCompensation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgr_EmployeeCompensation" order="22" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityAccrualNoncurrent" xlink:href="rgr-20241231.xsd#rgr_ProductLiabilityAccrualNoncurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgr_ProductLiabilityAccrualNoncurrent" order="23" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommitmentsAndContingencies" order="24" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockValue" order="25" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="26" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="27" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockCommonValue" order="28" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" order="29" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" order="30" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfStockDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonvotingCommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonvotingCommonStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_NonvotingCommonStockMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_CommonStockMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockCommonShares" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ConsolidatedIncomeStatement" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_FirearmsMember" xlink:href="rgr-20241231.xsd#rgr_FirearmsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgr_FirearmsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_UnaffiliatedCastingsMember" xlink:href="rgr-20241231.xsd#rgr_UnaffiliatedCastingsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgr_UnaffiliatedCastingsMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Revenues" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SellingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SellingExpense" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GeneralAndAdministrativeExpense" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherOperatingIncomeExpenseNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingExpenses" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RoyaltyIncomeNonoperating" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyIncomeNonoperating"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RoyaltyIncomeNonoperating" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeInterest"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InvestmentIncomeInterest" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InterestExpenseNonoperating" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InterestExpenseNonoperating" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NonoperatingIncomeExpense" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="13" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="14" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="15" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic" order="16" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" order="17" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="18" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="19" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockDividendsPerShareDeclared"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared" order="20" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ShareholdersEquityType2or3" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EquityComponentDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockCommonMember" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsCommonStock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DividendsCommonStock" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_DividendsCommonStockUnpaid" xlink:href="rgr-20241231.xsd#rgr_DividendsCommonStockUnpaid"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="rgr_DividendsCommonStockUnpaid" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" order="7" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ShareholdersEquityType2or3_Parentheticals" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ConsolidatedCashFlow" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortization" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_ShareBasedCompensation" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ExcessAndObsolescenceInventoryReserve" xlink:href="rgr-20241231.xsd#rgr_ExcessAndObsolescenceInventoryReserve"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="rgr_ExcessAndObsolescenceInventoryReserve" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredOtherTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_IncreaseDecreaseInProductLiability" xlink:href="rgr-20241231.xsd#rgr_IncreaseDecreaseInProductLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="rgr_IncreaseDecreaseInProductLiability" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" order="13" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="14" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="15" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquireInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_PaymentsToAcquireInvestments" order="16" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" order="17" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfProductiveAssets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_ProceedsFromSaleOfProductiveAssets" order="18" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="19" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsOfDividends" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividends"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_PaymentsOfDividends" order="20" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" order="21" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="22" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="23" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" order="24" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="25" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/SummaryofSignificantAccountingPolicies" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomers" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/TradeReceivablesNet" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/Inventories" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/PropertyPlantandEquipment" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/OtherAssets" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/LeasedAssets" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/TradeAccountsPayableandAccruedExpenses" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/AccruedDividends" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_TableTextBlockSupplementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlockSupplementAbstract" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/LineofCredit" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/EmployeeBenefitPlans" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/OtherOperatingIncomeNet" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/IncomeTaxes" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/EarningsPerShare" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/StockRepurchases" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockValueAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAbstract"/>
    <loc xlink:type="locator" xlink:label="rgr_StockRepurchasesDisclosureTextBlock" xlink:href="rgr-20241231.xsd#rgr_StockRepurchasesDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TreasuryStockValueAbstract" xlink:to="rgr_StockRepurchasesDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/CompensationPlans" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/OperatingSegmentInformation" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/QuarterlyResultsofOperationsUnaudited" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/RelatedPartyTransactions" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ContingentLiabilities" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LegalMattersAndContingenciesTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_LegalMattersAndContingenciesTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/FinancialInstruments" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DerivativeInstrumentDetailAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentDetailAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FinancialInstrumentsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancialInstrumentsDisclosureTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeInstrumentDetailAbstract" xlink:to="us-gaap_FinancialInstrumentsDisclosureTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/SubsequentEvents" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/AccountingPoliciesByPolicy" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <loc xlink:type="locator" xlink:label="rgr_OrganizationPolicyTextBlock" xlink:href="rgr-20241231.xsd#rgr_OrganizationPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="rgr_OrganizationPolicyTextBlock" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_PreparationOfFinancialStatementsPolicyTextBlock" xlink:href="rgr-20241231.xsd#rgr_PreparationOfFinancialStatementsPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="rgr_PreparationOfFinancialStatementsPolicyTextBlock" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilityReserveEstimatePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilityReserveEstimatePolicy"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_LiabilityReserveEstimatePolicy" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock" order="13" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ShippingCostPolicyPolicyTextBlock" xlink:href="rgr-20241231.xsd#rgr_ShippingCostPolicyPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="rgr_ShippingCostPolicyPolicyTextBlock" order="14" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy" order="15" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock" order="16" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" order="17" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/TradeReceivablesNetTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/InventoriesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/PropertyPlantandEquipmentTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/OtherAssetsTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfOtherAssetsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfOtherAssetsTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherAssetsAbstract" xlink:to="us-gaap_ScheduleOfOtherAssetsTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/LeasedAssetsTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseCostTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeaseCostTableTextBlock" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/TradeAccountsPayableandAccruedExpensesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract" xlink:to="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/OtherOperatingIncomeNetTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/IncomeTaxesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FederalIncomeTaxNoteTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FederalIncomeTaxNoteTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_FederalIncomeTaxNoteTextBlock" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/EarningsPerShareTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/StockRepurchasesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockValueAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfTreasuryStockByClassTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfTreasuryStockByClassTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TreasuryStockValueAbstract" xlink:to="us-gaap_ScheduleOfTreasuryStockByClassTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/OperatingSegmentInformationTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/QuarterlyResultsofOperationsUnauditedTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ContingentLiabilitiesTables" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingenciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityContingenciesTextBlock"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyAbstract" xlink:to="us-gaap_ProductLiabilityContingenciesTextBlock" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofRevenueRecognizedTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable" xlink:href="rgr-20241231.xsd#rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems" xlink:to="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_StatementScenarioAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable" xlink:to="srt_StatementScenarioAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioUnspecifiedDomain_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeRevenueRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeRevenueRecognized"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems" xlink:to="us-gaap_DeferredIncomeRevenueRecognized" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredRevenueAdditions" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueAdditions"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems" xlink:to="us-gaap_DeferredRevenueAdditions" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofTradeReceivablesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfTradeReceivablesAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfTradeReceivablesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeReceivablesAbstract" xlink:to="us-gaap_AccountsReceivableGrossCurrent" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeReceivablesAbstract" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_AllowanceForDiscountssAccountsReceivableCurrent" xlink:href="rgr-20241231.xsd#rgr_AllowanceForDiscountssAccountsReceivableCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeReceivablesAbstract" xlink:to="rgr_AllowanceForDiscountssAccountsReceivableCurrent" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeReceivablesAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofInventoriesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfInventoriesAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfInventoriesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryFinishedGoods" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfInventoriesAbstract" xlink:to="us-gaap_InventoryFinishedGoods" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfInventoriesAbstract" xlink:to="us-gaap_InventoryWorkInProcessAndRawMaterials" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfInventoriesAbstract" xlink:to="us-gaap_InventoryGross" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryLIFOReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLIFOReserve"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfInventoriesAbstract" xlink:to="us-gaap_InventoryLIFOReserve" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryValuationReserves"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfInventoriesAbstract" xlink:to="us-gaap_InventoryValuationReserves" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfInventoriesAbstract" xlink:to="us-gaap_InventoryNet" order="5" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LandImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandImprovementsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LandImprovementsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ToolsDiesAndMoldsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ToolsDiesAndMoldsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ToolsDiesAndMoldsMember" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofOtherAssetsTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfOtherAssetsAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfOtherAssetsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedPatentsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedPatentsGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_FiniteLivedPatentsGross" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepositAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositAssets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_DepositAssets" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IndefiniteLivedTradeNames" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedTradeNames"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_IndefiniteLivedTradeNames" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsMiscellaneous" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsMiscellaneous"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsMiscellaneous" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfOtherAssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" order="5" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeasedAssetsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasedAssetsLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="rgr_LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable" xlink:to="us-gaap_LeaseContractualTermAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LeaseContractualTermDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_OperatingLeaseMember" xlink:href="rgr-20241231.xsd#rgr_OperatingLeaseMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="rgr_OperatingLeaseMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingLeasedAssetsLineItems" xlink:to="us-gaap_OperatingLeaseLiability" order="8" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableTradeCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableTradeCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_AccountsPayableTradeCurrent" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedIncomeTaxesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_OtherAccountsPayableAndAccruedLiabilities" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofOtherOperatingIncomeNetTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLossAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLossAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfOtherAssets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OperatingIncomeLossAbstract" xlink:to="us-gaap_GainLossOnSaleOfOtherAssets" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" order="4" xbrldt:closed="true"/>
<!-- [WMV6][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrae3Q64+IQnmb2USxqPYGfVI2tDrLdUwwGN7MqrQdhG+SCWYUh6Hp+V8bA/AEnE3cNkyoG64Ll76gCDgC4Z1W711EVHq0feHKsI1Gwu4Aj9R4Y6zDFYQe1j2qEiui+5O18VDe6OJPfndHv6hh1fIzram6R/SUPM2cdZx4eP1G4UZA/qczLkJ6S47W0oXkqD3/eDQlF7C1TVVk9UfX1E3ulYy35B1qazkv/Z71DPUvwzLBdLHqvh6yMF] CSR-->
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="5" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxReconciliationDeductionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationDeductionsAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxReconciliationDeductionsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxReconciliationDeductionsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxReconciliationDeductionsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxReconciliationDeductionsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxReconciliationDeductionsAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNetAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInventory"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsInventory" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsOther" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNet" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesOther" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet" order="10" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityClassOfTreasuryStockLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ClassOfTreasuryStockTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfTreasuryStockTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_ClassOfTreasuryStockTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardDateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardDateAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_AwardDateAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardDateDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardDateDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardDateAxis" xlink:to="us-gaap_AwardDateDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardDateDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardDateDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardDateAxis" xlink:to="us-gaap_AwardDateDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfFourthQuarterEventsByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfFourthQuarterEventsTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="us-gaap_EffectOfFourthQuarterEventsTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectOfFourthQuarterEventsTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfFourthQuarterEventsTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_EffectOfFourthQuarterEventsByTypeAxis" xlink:to="us-gaap_EffectOfFourthQuarterEventsTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ThirdQuarter2022Member" xlink:href="rgr-20241231.xsd#rgr_ThirdQuarter2022Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:to="rgr_ThirdQuarter2022Member" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2022Member" xlink:href="rgr-20241231.xsd#rgr_FourthQuarter2022Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:to="rgr_FourthQuarter2022Member" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2023Member" xlink:href="rgr-20241231.xsd#rgr_FourthQuarter2023Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:to="rgr_FourthQuarter2023Member" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_FirstQuarter2024Member" xlink:href="rgr-20241231.xsd#rgr_FirstQuarter2024Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:to="rgr_FirstQuarter2024Member" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_SecondQuarter2024Member" xlink:href="rgr-20241231.xsd#rgr_SecondQuarter2024Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:to="rgr_SecondQuarter2024Member" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ThirdQuarter2024Member" xlink:href="rgr-20241231.xsd#rgr_ThirdQuarter2024Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:to="rgr_ThirdQuarter2024Member" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_FourthQuarter2024Member" xlink:href="rgr-20241231.xsd#rgr_FourthQuarter2024Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EffectOfFourthQuarterEventsTypeDomain" xlink:to="rgr_FourthQuarter2024Member" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_JulyThreeToJulyThirtyMember" xlink:href="rgr-20241231.xsd#rgr_JulyThreeToJulyThirtyMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_JulyThreeToJulyThirtyMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_JulyThirtyoneToAugustTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_JulyThirtyoneToAugustTwentySevenMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_JulyThirtyoneToAugustTwentySevenMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_AugustTwentyEightToOctoberOneMember" xlink:href="rgr-20241231.xsd#rgr_AugustTwentyEightToOctoberOneMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_AugustTwentyEightToOctoberOneMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberTwoToOctoberTwentyNineMember" xlink:href="rgr-20241231.xsd#rgr_OctoberTwoToOctoberTwentyNineMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_OctoberTwoToOctoberTwentyNineMember" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberThirtyToNovemberTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_OctoberThirtyToNovemberTwentySevenMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_OctoberThirtyToNovemberTwentySevenMember" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_NovemberTwentySevenToDecemberThirtyOneMember" xlink:href="rgr-20241231.xsd#rgr_NovemberTwentySevenToDecemberThirtyOneMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_NovemberTwentySevenToDecemberThirtyOneMember" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberOneToOctoberTwentyEightMember" xlink:href="rgr-20241231.xsd#rgr_OctoberOneToOctoberTwentyEightMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_OctoberOneToOctoberTwentyEightMember" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberTwentyNineToNovemberTwentyFiveMember" xlink:href="rgr-20241231.xsd#rgr_OctoberTwentyNineToNovemberTwentyFiveMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_OctoberTwentyNineToNovemberTwentyFiveMember" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_NovemberTwentySixToDecemberThirtyOneMember" xlink:href="rgr-20241231.xsd#rgr_NovemberTwentySixToDecemberThirtyOneMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_NovemberTwentySixToDecemberThirtyOneMember" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_JanuaryOneToJanuaryTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_JanuaryOneToJanuaryTwentySevenMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_JanuaryOneToJanuaryTwentySevenMember" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_JanuaryTwentyEightToFebruaryTwentyFourMember" xlink:href="rgr-20241231.xsd#rgr_JanuaryTwentyEightToFebruaryTwentyFourMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_JanuaryTwentyEightToFebruaryTwentyFourMember" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_FebruaryTwentyFiveToMarchThirtyMember" xlink:href="rgr-20241231.xsd#rgr_FebruaryTwentyFiveToMarchThirtyMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_FebruaryTwentyFiveToMarchThirtyMember" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_MarchThirtyOneToAprilTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_MarchThirtyOneToAprilTwentySevenMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_MarchThirtyOneToAprilTwentySevenMember" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_AprilTwentyEightToMayTwentyFiveMember" xlink:href="rgr-20241231.xsd#rgr_AprilTwentyEightToMayTwentyFiveMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_AprilTwentyEightToMayTwentyFiveMember" order="13" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_MayTwentySixToJuneTwentyNineMember" xlink:href="rgr-20241231.xsd#rgr_MayTwentySixToJuneTwentyNineMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_MayTwentySixToJuneTwentyNineMember" order="14" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_JuneThirtyToJulyTwentySevenMember" xlink:href="rgr-20241231.xsd#rgr_JuneThirtyToJulyTwentySevenMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_JuneThirtyToJulyTwentySevenMember" order="15" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_JulyTwentyEightToAugustTwentyFourMember" xlink:href="rgr-20241231.xsd#rgr_JulyTwentyEightToAugustTwentyFourMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_JulyTwentyEightToAugustTwentyFourMember" order="16" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_AugustTwentyFiveToSeptemberTwentyEightMember" xlink:href="rgr-20241231.xsd#rgr_AugustTwentyFiveToSeptemberTwentyEightMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_AugustTwentyFiveToSeptemberTwentyEightMember" order="17" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_SeptemberTwentyNineToOctoberTwentySixMember" xlink:href="rgr-20241231.xsd#rgr_SeptemberTwentyNineToOctoberTwentySixMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_SeptemberTwentyNineToOctoberTwentySixMember" order="18" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_OctoberTwentySevenToNovemberTwentyThreeMember" xlink:href="rgr-20241231.xsd#rgr_OctoberTwentySevenToNovemberTwentyThreeMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_OctoberTwentySevenToNovemberTwentyThreeMember" order="19" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_NovemberTwentyThreeToDecemberThirtyOneMember" xlink:href="rgr-20241231.xsd#rgr_NovemberTwentyThreeToDecemberThirtyOneMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AwardDateDomain" xlink:to="rgr_NovemberTwentyThreeToDecemberThirtyOneMember" order="20" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockSharesAcquired" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockSharesAcquired"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_TreasuryStockSharesAcquired" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockAcquiredAverageCostPerShare"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentReportingInformationLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_ProductOrServiceAxis" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_FirearmsMember" xlink:href="rgr-20241231.xsd#rgr_FirearmsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_FirearmsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CastingsUnaffiliatedMember" xlink:href="rgr-20241231.xsd#rgr_CastingsUnaffiliatedMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_CastingsUnaffiliatedMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_IntersegmentMember" xlink:href="rgr-20241231.xsd#rgr_IntersegmentMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_IntersegmentMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CastingsMember" xlink:href="rgr-20241231.xsd#rgr_CastingsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_CastingsMember" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_EliminationsMember" xlink:href="rgr-20241231.xsd#rgr_EliminationsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_EliminationsMember" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CorporatesMember" xlink:href="rgr-20241231.xsd#rgr_CorporatesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_CorporatesMember" order="5" xbrldt:closed="true"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgr_CastingsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Revenues" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_GrossProfit" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_OperatingIncomeLoss" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Assets" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Goodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Goodwill" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Depreciation" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentExpenditureAdditionToLongLivedAssets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentExpenditureAdditionToLongLivedAssets" order="9" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofQuarterlyFinancialInformationTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:href="rgr-20241231.xsd#rgr_ScheduleOfQuarterlyFinancialInformationAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_Revenues" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_GrossProfit" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_NetIncomeLoss" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_ScheduleOfQuarterlyFinancialInformationAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyLiabilityLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductWarrantyLiabilityTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyLiabilityTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ProductWarrantyLiabilityTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="srt_ProductOrServiceAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityReserveMemberMember" xlink:href="rgr-20241231.xsd#rgr_ProductLiabilityReserveMemberMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgr_ProductLiabilityReserveMemberMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ValuationAllowancesAndReservesLegalFees" xlink:href="rgr-20241231.xsd#rgr_ValuationAllowancesAndReservesLegalFees"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="rgr_ValuationAllowancesAndReservesLegalFees" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ValuationAllowancesAndReservesSettlements" xlink:href="rgr-20241231.xsd#rgr_ValuationAllowancesAndReservesSettlements"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="rgr_ValuationAllowancesAndReservesSettlements" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityContingencyLineItems"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyTable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityContingencyTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ProductLiabilityContingencyTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ProductLiabilityContingencyTable" xlink:to="srt_ProductOrServiceAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ProductsAndServicesDomain_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_AccruedLegalExpenseMember" xlink:href="rgr-20241231.xsd#rgr_AccruedLegalExpenseMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgr_AccruedLegalExpenseMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_InsurancePremiumExpenseMember" xlink:href="rgr-20241231.xsd#rgr_InsurancePremiumExpenseMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgr_InsurancePremiumExpenseMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_TotalProductLiabilityExpenseMember" xlink:href="rgr-20241231.xsd#rgr_TotalProductLiabilityExpenseMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="rgr_TotalProductLiabilityExpenseMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityAccrualPeriodExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ProductLiabilityAccrualPeriodExpense" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualComponentAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityAccrualComponentAmount"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ProductLiabilityContingencyLineItems" xlink:to="us-gaap_ProductLiabilityAccrualComponentAmount" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable" xlink:href="rgr-20241231.xsd#rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable" xlink:to="us-gaap_AwardTypeAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_OtherAssetsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeAccountsPayableAndAccruedExpensesMember" xlink:href="rgr-20241231.xsd#rgr_TradeAccountsPayableAndAccruedExpensesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgr_TradeAccountsPayableAndAccruedExpensesMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_LeaseLiabilitiesMember" xlink:href="rgr-20241231.xsd#rgr_LeaseLiabilitiesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgr_LeaseLiabilitiesMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_OperatingLeaseLiability" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeasePayments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_OperatingLeasePayments" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShortTermLeasePayments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermLeasePayments"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_ShortTermLeasePayments" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" order="8" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ChangeInAccountingEstimateLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ChangeInAccountingEstimateLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" xlink:href="rgr-20241231.xsd#rgr_SummaryofSignificantAccountingPoliciesDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SegmentDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_SummaryofSignificantAccountingPoliciesDetailsTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="13" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_BuildingMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ToolsDiesAndMoldsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ToolsDiesAndMoldsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ToolsDiesAndMoldsMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_FirearmsMember" xlink:href="rgr-20241231.xsd#rgr_FirearmsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_FirearmsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ExportSalesMember" xlink:href="rgr-20241231.xsd#rgr_ExportSalesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_ExportSalesMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CastingsSalesMember" xlink:href="rgr-20241231.xsd#rgr_CastingsSalesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SegmentDomain" xlink:to="rgr_CastingsSalesMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SharebasedCompensationEffectOnEarningsPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationEffectOnEarningsPerShare"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="us-gaap_SharebasedCompensationEffectOnEarningsPerShare" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_BadDebtExpenseInTerm" xlink:href="rgr-20241231.xsd#rgr_BadDebtExpenseInTerm"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="rgr_BadDebtExpenseInTerm" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdvertisingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="us-gaap_AdvertisingExpense" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ShippingCosts" xlink:href="rgr-20241231.xsd#rgr_ShippingCosts"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="rgr_ShippingCosts" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ChangeInAccountingEstimateLineItems" xlink:to="us-gaap_ResearchAndDevelopmentExpense" order="6" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_NetIncreaseInFirearmsSales" xlink:href="rgr-20241231.xsd#rgr_NetIncreaseInFirearmsSales"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="rgr_NetIncreaseInFirearmsSales" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_DeferredContractRevenueLiability" xlink:href="rgr-20241231.xsd#rgr_DeferredContractRevenueLiability"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="rgr_DeferredContractRevenueLiability" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_DeferredOfRevenue" xlink:href="rgr-20241231.xsd#rgr_DeferredOfRevenue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="rgr_DeferredOfRevenue" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_NetDecreaseInFirearmsSales" xlink:href="rgr-20241231.xsd#rgr_NetDecreaseInFirearmsSales"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="rgr_NetDecreaseInFirearmsSales" order="4" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/TradeReceivablesNetDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetLineItems" xlink:href="rgr-20241231.xsd#rgr_TradeReceivablesNetLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeReceivablesNetDetailsTable" xlink:href="rgr-20241231.xsd#rgr_TradeReceivablesNetDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_TradeReceivablesNetLineItems" xlink:to="rgr_TradeReceivablesNetDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_TradeReceivablesNetDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_TradeReceivablesNetDetailsTable" xlink:to="srt_MajorCustomersAxis" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_TradeReceivablesNetDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CustomerOneMember" xlink:href="rgr-20241231.xsd#rgr_CustomerOneMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgr_CustomerOneMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CustomerTwoMember" xlink:href="rgr-20241231.xsd#rgr_CustomerTwoMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgr_CustomerTwoMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CustomerThreeMember" xlink:href="rgr-20241231.xsd#rgr_CustomerThreeMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgr_CustomerThreeMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CustomerFourMember" xlink:href="rgr-20241231.xsd#rgr_CustomerFourMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgr_CustomerFourMember" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_TradeReceivablesNetLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/PropertyPlantandEquipmentDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_Depreciation" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/OtherAssetsDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="rgr_OtherAssetsDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_OtherAssetsDetailsLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_OtherAssetsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_OtherAssetsDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_OtherAssetsDetailsLineItems" xlink:to="rgr_OtherAssetsDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_OtherAssetsDetailsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_TradeNameMember" xlink:href="rgr-20241231.xsd#rgr_TradeNameMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="rgr_TradeNameMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerRelationshipsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherAssetsDetailsLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherAssetsDetailsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherAssetsDetailsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherAssetsDetailsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherAssetsDetailsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherAssetsDetailsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_OtherAssetsDetailsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" order="6" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/LeasedAssetsDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/AccruedDividendsDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="rgr_AccruedDividendsDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_AccruedDividendsDetailsLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_AccruedDividendsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_AccruedDividendsDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_AccruedDividendsDetailsLineItems" xlink:to="rgr_AccruedDividendsDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_AccruedDividendsDetailsTable" xlink:to="us-gaap_DividendsAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DividendsAxis" xlink:to="us-gaap_DividendsDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DividendsAxis" xlink:to="us-gaap_DividendsDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_S2022Q4DividendsMember" xlink:href="rgr-20241231.xsd#rgr_S2022Q4DividendsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DividendsDomain" xlink:to="rgr_S2022Q4DividendsMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableAmountPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableAmountPerShare"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_AccruedDividendsDetailsLineItems" xlink:to="us-gaap_DividendsPayableAmountPerShare" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_AccruedDividendsDetailsLineItems" xlink:to="us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableCurrentAndNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableCurrentAndNoncurrent"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_AccruedDividendsDetailsLineItems" xlink:to="us-gaap_DividendsPayableCurrentAndNoncurrent" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendPayableDateToBePaidDayMonthAndYear" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_AccruedDividendsDetailsLineItems" xlink:to="us-gaap_DividendPayableDateToBePaidDayMonthAndYear" order="3" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/LineofCreditDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_LineofCreditDetailsTable" xlink:href="rgr-20241231.xsd#rgr_LineofCreditDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="rgr_LineofCreditDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityExpirationDate1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/EmployeeBenefitPlansDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanAdministrativeExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanAdministrativeExpenses"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_DefinedContributionPlanAdministrativeExpenses" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/IncomeTaxesDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="rgr_IncomeTaxesDetailsLineItems" xlink:href="rgr-20241231.xsd#rgr_IncomeTaxesDetailsLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_IncomeTaxesDetailsTable" xlink:href="rgr-20241231.xsd#rgr_IncomeTaxesDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="rgr_IncomeTaxesDetailsLineItems" xlink:to="rgr_IncomeTaxesDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_StatementScenarioAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_IncomeTaxesDetailsTable" xlink:to="srt_StatementScenarioAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioUnspecifiedDomain_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_ScenarioForecastMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioForecastMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioForecastMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_IncomeTaxesDetailsLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes" xlink:href="rgr-20241231.xsd#rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_IncomeTaxesDetailsLineItems" xlink:to="rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="rgr_IncomeTaxesDetailsLineItems" xlink:to="us-gaap_IncomeTaxesPaidNet" order="2" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/StockRepurchasesDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockValueAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAbstract"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TreasuryStockValueAbstract" xlink:to="us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/CompensationPlansDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_CompensationPlansDetailsTable" xlink:href="rgr-20241231.xsd#rgr_CompensationPlansDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgr_CompensationPlansDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_CompensationPlansDetailsTable" xlink:to="us-gaap_PlanNameAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PlanNameDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_CompensationPlansDetailsTable" xlink:to="srt_TitleOfIndividualAxis" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_VestingAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VestingAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_CompensationPlansDetailsTable" xlink:to="us-gaap_VestingAxis" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_VestingDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VestingDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_VestingDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VestingDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_CompensationPlansDetailsTable" xlink:to="srt_RangeAxis" order="13" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_RangeMember_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_CompensationPlansDetailsTable" xlink:to="us-gaap_AwardTypeAxis" order="14" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInJune2025Member" xlink:href="rgr-20241231.xsd#rgr_VestInJune2025Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VestingDomain" xlink:to="rgr_VestInJune2025Member" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInJune2027Member" xlink:href="rgr-20241231.xsd#rgr_VestInJune2027Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VestingDomain" xlink:to="rgr_VestInJune2027Member" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInJune2024Member" xlink:href="rgr-20241231.xsd#rgr_VestInJune2024Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VestingDomain" xlink:to="rgr_VestInJune2024Member" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInJune2026Member" xlink:href="rgr-20241231.xsd#rgr_VestInJune2026Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VestingDomain" xlink:to="rgr_VestInJune2026Member" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestInMay2023Member" xlink:href="rgr-20241231.xsd#rgr_VestInMay2023Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VestingDomain" xlink:to="rgr_VestInMay2023Member" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_VestingInMay2025Member" xlink:href="rgr-20241231.xsd#rgr_VestingInMay2025Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VestingDomain" xlink:to="rgr_VestingInMay2025Member" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_DeferredStockMember" xlink:href="rgr-20241231.xsd#rgr_DeferredStockMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="rgr_DeferredStockMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_StockIncentivePlan2017Member" xlink:href="rgr-20241231.xsd#rgr_StockIncentivePlan2017Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="rgr_StockIncentivePlan2017Member" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_StockIncentivePlan2023Member" xlink:href="rgr-20241231.xsd#rgr_StockIncentivePlan2023Member"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="rgr_StockIncentivePlan2023Member" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_DirectorMember" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_DirectorMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_DirectorMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RestrictedStockExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_RestrictedStockExpense" order="8" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_RecognizedCostsOfRestrictedStockUnits" xlink:href="rgr-20241231.xsd#rgr_RecognizedCostsOfRestrictedStockUnits"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgr_RecognizedCostsOfRestrictedStockUnits" order="9" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_UnrecognizedCompensationCost" xlink:href="rgr-20241231.xsd#rgr_UnrecognizedCompensationCost"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="rgr_UnrecognizedCompensationCost" order="11" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/OperatingSegmentInformationDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_OperatingSegmentInformationDetailsTable" xlink:href="rgr-20241231.xsd#rgr_OperatingSegmentInformationDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="rgr_OperatingSegmentInformationDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_OperatingSegmentInformationDetailsTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_StatementGeographicalAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_OperatingSegmentInformationDetailsTable" xlink:to="srt_StatementGeographicalAxis" order="11" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_SegmentGeographicalDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_SegmentGeographicalDomain_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_OperatingSegmentInformationDetailsTable" xlink:to="srt_MajorCustomersAxis" order="12" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="srt_NameOfMajorCustomerDomain_0" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_OperatingSegmentInformationDetailsTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="13" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_LipseysMember" xlink:href="rgr-20241231.xsd#rgr_LipseysMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgr_LipseysMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_SportsSouthMember" xlink:href="rgr-20241231.xsd#rgr_SportsSouthMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgr_SportsSouthMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_DavidsonsMember" xlink:href="rgr-20241231.xsd#rgr_DavidsonsMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="rgr_DavidsonsMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SalesRevenueNetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="country_US" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NumberOfReportableSegments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_NumberOfReportableSegments" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="1" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/RelatedPartyTransactionsDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_RelatedPartyTransactionsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_RelatedPartyTransactionsDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="rgr_RelatedPartyTransactionsDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_RelatedPartyTransactionsDetailsTable" xlink:to="us-gaap_RelatedPartyTransactionAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_NationalRifleAssociationMember" xlink:href="rgr-20241231.xsd#rgr_NationalRifleAssociationMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="rgr_NationalRifleAssociationMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_NationalShootingSportsFoundationMember" xlink:href="rgr-20241231.xsd#rgr_NationalShootingSportsFoundationMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="rgr_NationalShootingSportsFoundationMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionAmountsOfTransaction" order="0" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/ContingentLiabilitiesDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingenciesLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingenciesLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_ContingentLiabilitiesDetailsTable" xlink:href="rgr-20241231.xsd#rgr_ContingentLiabilitiesDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="rgr_ContingentLiabilitiesDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_ContingentLiabilitiesDetailsTable" xlink:to="us-gaap_LossContingenciesByNatureOfContingencyAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyNatureDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyNatureDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyNatureDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyNatureDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:to="us-gaap_LossContingencyNatureDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_TrademarkLitigationMember" xlink:href="rgr-20241231.xsd#rgr_TrademarkLitigationMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="rgr_TrademarkLitigationMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_TrademarkLawsuitMember" xlink:href="rgr-20241231.xsd#rgr_TrademarkLawsuitMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="rgr_TrademarkLawsuitMember" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_TraditionalProductLiabilityLawsuitMember" xlink:href="rgr-20241231.xsd#rgr_TraditionalProductLiabilityLawsuitMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="rgr_TraditionalProductLiabilityLawsuitMember" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_MunicipalLawsuitMember" xlink:href="rgr-20241231.xsd#rgr_MunicipalLawsuitMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="rgr_MunicipalLawsuitMember" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_UnfairTradePracticesMember" xlink:href="rgr-20241231.xsd#rgr_UnfairTradePracticesMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="rgr_UnfairTradePracticesMember" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_NegligenceLawsuitMember" xlink:href="rgr-20241231.xsd#rgr_NegligenceLawsuitMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingencyNatureDomain" xlink:to="rgr_NegligenceLawsuitMember" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" xlink:href="rgr-20241231.xsd#rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" xlink:href="rgr-20241231.xsd#rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyDamagesSoughtValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyDamagesSoughtValue"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingencyDamagesSoughtValue" order="2" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyNewClaimsFiledNumber"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber" order="3" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyClaimsSettledNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyClaimsSettledNumber"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingencyClaimsSettledNumber" order="4" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LossContingencyClaimsDismissedNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyClaimsDismissedNumber"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingencyClaimsDismissedNumber" order="5" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_LossContingencyNumberOfLawsuits" xlink:href="rgr-20241231.xsd#rgr_LossContingencyNumberOfLawsuits"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="rgr_LossContingencyNumberOfLawsuits" order="6" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityAccrualPeriodExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityAccrualPeriodExpense"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_ProductLiabilityAccrualPeriodExpense" order="7" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued" order="8" xbrldt:closed="true"/>
  </definitionLink>
  <definitionLink xlink:role="http://www.ruger.com/role/SubsequentEventsDetails" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems"/>
    <loc xlink:type="locator" xlink:label="rgr_SubsequentEventsDetailsTable" xlink:href="rgr-20241231.xsd#rgr_SubsequentEventsDetailsTable"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="rgr_SubsequentEventsDetailsTable" order="0" xbrldt:contextElement="segment" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="rgr_SubsequentEventsDetailsTable" xlink:to="us-gaap_SubsequentEventTypeAxis" order="10" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventTypeDomain_0" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain_0" order="1" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SubsequentEventMember" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DividendsPayableAmountPerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableAmountPerShare"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_DividendsPayableAmountPerShare" order="0" xbrldt:closed="true"/>
    <loc xlink:type="locator" xlink:label="rgr_DateOfRecord" xlink:href="rgr-20241231.xsd#rgr_DateOfRecord"/>
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="rgr_DateOfRecord" order="1" xbrldt:closed="true"/>
  </definitionLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>13
<FILENAME>rgr-20241231_cal.xml
<DESCRIPTION>XBRL CALCULATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Wed Feb 19 03:12:50 UTC 2025 -->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" 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">
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ConsolidatedBalanceSheet" roleURI="http://www.ruger.com/role/ConsolidatedBalanceSheet"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ConsolidatedIncomeStatement" roleURI="http://www.ruger.com/role/ConsolidatedIncomeStatement"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ConsolidatedCashFlow" roleURI="http://www.ruger.com/role/ConsolidatedCashFlow"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofTradeReceivablesTable" roleURI="http://www.ruger.com/role/ScheduleofTradeReceivablesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofInventoriesTable" roleURI="http://www.ruger.com/role/ScheduleofInventoriesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofPropertyPlantandEquipmentTable" roleURI="http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofOtherAssetsTable" roleURI="http://www.ruger.com/role/ScheduleofOtherAssetsTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable" roleURI="http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofTradeAccountsPayableandAccruedExpensesTable" roleURI="http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofFederalandStateIncomeTaxProvisionTable" roleURI="http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofEffectiveIncomeTaxRateReconciliationTable" roleURI="http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofDeferredTaxAssetsandLiabilitiesTable" roleURI="http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"/>
  <roleRef xlink:type="simple" xlink:href="rgr-20241231.xsd#rgr_r_ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable" roleURI="http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"/>
  <calculationLink xlink:role="http://www.ruger.com/role/ConsolidatedBalanceSheet" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryGross"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryGross" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryLIFOReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLIFOReserve"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryLIFOReserve" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryValuationReserves"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryValuationReserves" order="3" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShortTermInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermInvestments"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_ShortTermInvestments" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="3" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_InventoryNet" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="5" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" order="1" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityCurrent" xlink:href="rgr-20241231.xsd#rgr_ProductLiabilityCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="rgr_ProductLiabilityCurrent" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedEmployeeBenefitsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedEmployeeBenefitsCurrent" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WorkersCompensationLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WorkersCompensationLiabilityCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_WorkersCompensationLiabilityCurrent" order="5" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_CommonStockValue" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_TreasuryStockCommonValue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonValue"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_TreasuryStockCommonValue" order="4" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesCurrent" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="rgr_EmployeeCompensation" xlink:href="rgr-20241231.xsd#rgr_EmployeeCompensation"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="rgr_EmployeeCompensation" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="rgr_ProductLiabilityAccrualNoncurrent" xlink:href="rgr-20241231.xsd#rgr_ProductLiabilityAccrualNoncurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="rgr_ProductLiabilityAccrualNoncurrent" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_CommitmentsAndContingencies" order="5" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity" order="6" weight="1"/>
  </calculationLink>
  <calculationLink xlink:role="http://www.ruger.com/role/ConsolidatedIncomeStatement" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit"/>
    <loc xlink:type="locator" xlink:label="us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_Revenues" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses"/>
    <loc xlink:type="locator" xlink:label="us-gaap_SellingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingExpense"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_SellingExpense" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_GeneralAndAdministrativeExpense" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherOperatingIncomeExpenseNet"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet" order="3" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_GrossProfit" order="1" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingExpenses" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense"/>
    <loc xlink:type="locator" xlink:label="us-gaap_RoyaltyIncomeNonoperating" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyIncomeNonoperating"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_RoyaltyIncomeNonoperating" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeInterest"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InvestmentIncomeInterest" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InterestExpenseNonoperating" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseNonoperating"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InterestExpenseNonoperating" order="4" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OperatingIncomeLoss" order="1" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_NonoperatingIncomeExpense" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="2" weight="-1"/>
  </calculationLink>
  <calculationLink xlink:role="http://www.ruger.com/role/ConsolidatedCashFlow" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetIncomeLoss" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DepreciationDepletionAndAmortization" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredOtherTaxExpenseBenefit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" order="5" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" order="6" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" order="7" weight="1"/>
    <loc xlink:type="locator" xlink:label="rgr_IncreaseDecreaseInProductLiability" xlink:href="rgr-20241231.xsd#rgr_IncreaseDecreaseInProductLiability"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="rgr_IncreaseDecreaseInProductLiability" order="8" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" order="9" weight="1"/>
    <loc xlink:type="locator" xlink:label="rgr_ExcessAndObsolescenceInventoryReserve" xlink:href="rgr-20241231.xsd#rgr_ExcessAndObsolescenceInventoryReserve"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="rgr_ExcessAndObsolescenceInventoryReserve" order="10" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" order="11" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="12" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="13" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
<!-- [WMV6][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrae3Q64+IQnmb2USxqPYGfVI2tDrLdUwwGN7MqrQdhG+SCWYUh6Hp+V8bA/AEnE3cNkyoG64Ll76gCDgC4Z1W711EVHq0feHKsI1Gwu4Aj9R4Y6zDFYQe1j2qEiui+5O18VDe6OJPfndHv6hh1fIzram6R/SUPM2cdZx4eP1G4UZA/qczLkJ6S47W0oXkqD3/eDQlF7C1TVVk9UfX1E3ulYy35B1qazkv+mE+SYRpNuud7ARPss12wX] CSR-->
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="14" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_ProceedsFromSaleOfProductiveAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfProductiveAssets"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromSaleOfProductiveAssets" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="3" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsToAcquireInvestments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireInvestments"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireInvestments" order="4" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsOfDividends" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividends"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsOfDividends" order="1" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="3" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="1" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="2" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="3" weight="1"/>
  </calculationLink>
  <calculationLink xlink:role="http://www.ruger.com/role/ScheduleofTradeReceivablesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="rgr_AllowanceForDiscountssAccountsReceivableCurrent" xlink:href="rgr-20241231.xsd#rgr_AllowanceForDiscountssAccountsReceivableCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="rgr_AllowanceForDiscountssAccountsReceivableCurrent" order="3" weight="-1"/>
  </calculationLink>
  <calculationLink xlink:role="http://www.ruger.com/role/ScheduleofInventoriesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryGross"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryFinishedGoods" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryFinishedGoods" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryWorkInProcessAndRawMaterials" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessAndRawMaterials"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryWorkInProcessAndRawMaterials" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryGross" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryLIFOReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLIFOReserve"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryLIFOReserve" order="2" weight="-1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryValuationReserves"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryValuationReserves" order="3" weight="-1"/>
  </calculationLink>
  <calculationLink xlink:role="http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <loc xlink:type="locator" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="2" weight="-1"/>
  </calculationLink>
  <calculationLink xlink:role="http://www.ruger.com/role/ScheduleofOtherAssetsTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedPatentsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedPatentsGross"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_FiniteLivedPatentsGross" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DepositAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositAssets"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_DepositAssets" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IndefiniteLivedTradeNames" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedTradeNames"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_IndefiniteLivedTradeNames" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAssetsMiscellaneous" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsMiscellaneous"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsMiscellaneous" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" order="5" weight="-1"/>
  </calculationLink>
  <calculationLink xlink:role="http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" order="5" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" order="6" weight="1"/>
  </calculationLink>
  <calculationLink xlink:role="http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccountsPayableTradeCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableTradeCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableTradeCurrent" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_AccruedIncomeTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedIncomeTaxesCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccountsPayableAndAccruedLiabilities" order="3" weight="1"/>
  </calculationLink>
  <calculationLink xlink:role="http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" order="2" weight="1"/>
  </calculationLink>
  <calculationLink xlink:role="http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" order="4" weight="-1"/>
  </calculationLink>
  <calculationLink xlink:role="http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" order="3" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInventory"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsInventory" order="4" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="5" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsOther" order="6" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesOther" order="2" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsNet" order="1" weight="1"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" order="2" weight="-1"/>
  </calculationLink>
  <calculationLink xlink:role="http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable" xlink:type="extended">
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <loc xlink:type="locator" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="1" weight="1"/>
    <loc xlink:type="locator" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="2" weight="1"/>
  </calculationLink>
</linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759693008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Feb. 10, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [Flag]</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference [Text Block]</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Portions of the registrant&#8217;s Proxy Statement
relating to the 2025 Annual Meeting of Stockholders to be held May 29, 2025 are incorporated by reference into Part III (Items 10 through
14) of this Report.</p><span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInformationLineItems', window );"><strong>Entity Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">STURM, RUGER & COMPANY, INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000095029<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-10435<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">06-0633559<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 771,970,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityContactPersonnelLineItems', window );"><strong>Entity Contact Personnel [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">1 Lacey Place<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Southport<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CT<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">06890<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPhoneFaxNumbersLineItems', window );"><strong>Entity Phone Fax Numbers [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">(203)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">259-7843<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityListingsLineItems', window );"><strong>Entity Listings [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, $1 par value<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">RGR<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,762,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates whether any of the financial statement period in the filing include a restatement due to error correction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFinStmtErrorCorrectionFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentInformationLineItems</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_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentsIncorporatedByReferenceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Documents incorporated by reference.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-23<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentsIncorporatedByReferenceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_EntityContactPersonnelLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityContactPersonnelLineItems</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_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_EntityInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInformationLineItems</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_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_EntityListingsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityListingsLineItems</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_EntityPhoneFaxNumbersLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPhoneFaxNumbersLineItems</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_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573758639696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Audit Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorTable', window );"><strong>Auditor [Table]</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_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">RSM US LLP<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">49<span></span>
</td>
</tr>
<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_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Stamford, Connecticut<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorOpinionTextBlock', window );">Auditor Opinion [Text Block]</a></td>
<td class="text"><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0">Opinion on the Financial Statements</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We have audited the accompanying consolidated balance sheets of Sturm,
Ruger &amp; Company, Inc. and its subsidiaries (the Company) as of December 31, 2024 and 2023, the related consolidated statements of
income and comprehensive income, stockholders' equity and cash flows for each of the three years in the period ended December 31, 2024,
and the related notes to the consolidated financial statements and schedule (collectively, the financial statements). In our opinion,
the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2024 and 2023,
and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2024, in conformity
with accounting principles generally accepted in the United States of America.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorOpinionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-X<br> -Number 210<br> -Section 2<br> -Subsection 2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorOpinionTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AuditorTable</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759402688">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 10,028<span></span>
</td>
<td class="nump">$ 15,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_ShortTermInvestments', window );">Short-term investments</a></td>
<td class="nump">95,453<span></span>
</td>
<td class="nump">102,485<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Trade receivables, net</a></td>
<td class="nump">67,145<span></span>
</td>
<td class="nump">59,864<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryGross', window );">Gross inventories</a></td>
<td class="nump">149,417<span></span>
</td>
<td class="nump">150,192<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryLIFOReserve', window );">Less LIFO reserve</a></td>
<td class="num">(66,398)<span></span>
</td>
<td class="num">(64,262)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryValuationReserves', window );">Less excess and obsolescence reserve</a></td>
<td class="num">(6,533)<span></span>
</td>
<td class="num">(6,120)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Net inventories</a></td>
<td class="nump">76,486<span></span>
</td>
<td class="nump">79,810<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">9,245<span></span>
</td>
<td class="nump">14,062<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">258,357<span></span>
</td>
<td class="nump">271,395<span></span>
</td>
</tr>
<tr class="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, plant and equipment</a></td>
<td class="nump">477,622<span></span>
</td>
<td class="nump">462,397<span></span>
</td>
</tr>
<tr class="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 allowances for depreciation</a></td>
<td class="num">(406,373)<span></span>
</td>
<td class="num">(390,863)<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 );">Net property, plant and equipment</a></td>
<td class="nump">71,249<span></span>
</td>
<td class="nump">71,534<span></span>
</td>
</tr>
<tr class="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">16,681<span></span>
</td>
<td class="nump">11,976<span></span>
</td>
</tr>
<tr class="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">37,747<span></span>
</td>
<td class="nump">43,912<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">384,034<span></span>
</td>
<td class="nump">398,817<span></span>
</td>
</tr>
<tr class="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_AccountsPayableAndAccruedLiabilitiesCurrent', window );">Trade accounts payable and accrued expenses</a></td>
<td class="nump">35,750<span></span>
</td>
<td class="nump">31,708<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities with customers (Note 2)</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">149<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_rgr_ProductLiabilityCurrent', window );">Product liability</a></td>
<td class="nump">431<span></span>
</td>
<td class="nump">634<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedEmployeeBenefitsCurrent', window );">Employee compensation and benefits</a></td>
<td class="nump">18,824<span></span>
</td>
<td class="nump">24,660<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WorkersCompensationLiabilityCurrent', window );">Workers&#8217; compensation</a></td>
<td class="nump">5,804<span></span>
</td>
<td class="nump">6,044<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total Current Liabilities</a></td>
<td class="nump">60,809<span></span>
</td>
<td class="nump">63,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_OperatingLeaseLiabilityNoncurrent', window );">Lease liability (Note 7)</a></td>
<td class="nump">1,747<span></span>
</td>
<td class="nump">2,170<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_rgr_EmployeeCompensation', window );">Employee compensation</a></td>
<td class="nump">1,835<span></span>
</td>
<td class="nump">1,685<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_rgr_ProductLiabilityAccrualNoncurrent', window );">Product liability accrual</a></td>
<td class="nump">61<span></span>
</td>
<td class="nump">46<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Contingent liabilities (Note 20)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">50,536<span></span>
</td>
<td class="nump">46,849<span></span>
</td>
</tr>
<tr class="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">436,609<span></span>
</td>
<td class="nump">418,058<span></span>
</td>
</tr>
<tr class="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 );">Less: Treasury stock &#8211; at cost 2024 &#8211; 7,677,159 shares 2023 &#8211; 6,978,400 shares</a></td>
<td class="num">(192,031)<span></span>
</td>
<td class="num">(157,623)<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_StockholdersEquity', window );">Total Stockholders&#8217; Equity</a></td>
<td class="nump">319,582<span></span>
</td>
<td class="nump">331,721<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_LiabilitiesAndStockholdersEquity', window );">Total Liabilities and Stockholders&#8217; Equity</a></td>
<td class="nump">384,034<span></span>
</td>
<td class="nump">398,817<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_NonvotingCommonStockMember', window );">Nonvoting Common Stock</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_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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, Value</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember', window );">Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common Stock, Value</a></td>
<td class="nump">$ 24,468<span></span>
</td>
<td class="nump">$ 24,437<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_EmployeeCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Employee compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_EmployeeCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_rgr_ProductLiabilityAccrualNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters and due after one year (or beyond the operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_ProductLiabilityAccrualNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_rgr_ProductLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters For classified balance sheets, represents 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_ProductLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsPayableAndAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying values as of the balance sheet date of obligations incurred through that date and due within one year (or the operating cycle, if longer), including liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received, taxes, interest, rent and utilities, accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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_AccountsPayableAndAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccruedEmployeeBenefitsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedEmployeeBenefitsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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://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_InventoryGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InventoryLIFOReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which inventory stated at last-in first-out (LIFO) is less than (in excess of) inventory stated at other inventory cost methods.</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)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryLIFOReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_InventoryValuationReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation reserve for inventory.</p></div>
<a href="javascript: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 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480581/330-10-S99-2<br><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(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_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_TreasuryStockCommonValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481520/505-30-50-4<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WorkersCompensationLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and payables pertaining to claims incurred of a workers compensation nature. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WorkersCompensationLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StatementClassOfStockAxis=us-gaap_NonvotingCommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_NonvotingCommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>18
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573760848048">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parentheticals) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock, shares</a></td>
<td class="nump">7,677,159<span></span>
</td>
<td class="nump">6,978,400<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_NonvotingCommonStockMember', window );">Nonvoting Common Stock</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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in Dollars per share)</a></td>
<td class="nump">$ 1<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_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">50,000<span></span>
</td>
<td class="nump">50,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_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember', window );">Common Stock</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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in Dollars per share)</a></td>
<td class="nump">$ 1<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_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">40,000,000<span></span>
</td>
<td class="nump">40,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_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">24,467,983<span></span>
</td>
<td class="nump">24,437,020<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">16,790,824<span></span>
</td>
<td class="nump">17,458,620<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_NonvotingCommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_NonvotingCommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573758566736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Income and Comprehensive Income - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></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_Revenues', window );">Total net sales</a></td>
<td class="nump">$ 535,643<span></span>
</td>
<td class="nump">$ 543,767<span></span>
</td>
<td class="nump">$ 595,842<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of products sold</a></td>
<td class="nump">421,228<span></span>
</td>
<td class="nump">410,148<span></span>
</td>
<td class="nump">415,757<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">114,415<span></span>
</td>
<td class="nump">133,619<span></span>
</td>
<td class="nump">180,085<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating Expenses (Income):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingExpense', window );">Selling</a></td>
<td class="nump">38,755<span></span>
</td>
<td class="nump">38,788<span></span>
</td>
<td class="nump">36,114<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">44,006<span></span>
</td>
<td class="nump">42,752<span></span>
</td>
<td class="nump">40,551<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherOperatingIncomeExpenseNet', window );">Other operating income, net</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(5)<span></span>
</td>
<td class="num">(36)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">82,761<span></span>
</td>
<td class="nump">81,535<span></span>
</td>
<td class="nump">76,629<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">31,654<span></span>
</td>
<td class="nump">52,084<span></span>
</td>
<td class="nump">103,456<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIncomeAndExpensesAbstract', window );"><strong>Other income:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RoyaltyIncomeNonoperating', window );">Royalty income</a></td>
<td class="nump">857<span></span>
</td>
<td class="nump">658<span></span>
</td>
<td class="nump">837<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">4,885<span></span>
</td>
<td class="nump">5,465<span></span>
</td>
<td class="nump">2,552<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseNonoperating', window );">Interest expense</a></td>
<td class="num">(102)<span></span>
</td>
<td class="num">(205)<span></span>
</td>
<td class="num">(256)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income, net</a></td>
<td class="nump">481<span></span>
</td>
<td class="nump">822<span></span>
</td>
<td class="nump">1,690<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Total other income, net</a></td>
<td class="nump">6,121<span></span>
</td>
<td class="nump">6,740<span></span>
</td>
<td class="nump">4,823<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">37,775<span></span>
</td>
<td class="nump">58,824<span></span>
</td>
<td class="nump">108,279<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income taxes</a></td>
<td class="nump">7,212<span></span>
</td>
<td class="nump">10,609<span></span>
</td>
<td class="nump">19,947<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income and comprehensive income</a></td>
<td class="nump">$ 30,563<span></span>
</td>
<td class="nump">$ 48,215<span></span>
</td>
<td class="nump">$ 88,332<span></span>
</td>
</tr>
<tr class="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 earnings per share (in Dollars per share)</a></td>
<td class="nump">$ 1.79<span></span>
</td>
<td class="nump">$ 2.73<span></span>
</td>
<td class="nump">$ 5<span></span>
</td>
</tr>
<tr class="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 earnings per share (in Dollars per share)</a></td>
<td class="nump">$ 1.77<span></span>
</td>
<td class="nump">$ 2.71<span></span>
</td>
<td class="nump">$ 4.96<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average number of common shares outstanding - Basic (in Shares)</a></td>
<td class="nump">17,088,205<span></span>
</td>
<td class="nump">17,676,955<span></span>
</td>
<td class="nump">17,648,850<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average number of common shares outstanding - Diluted (in Shares)</a></td>
<td class="nump">17,270,101<span></span>
</td>
<td class="nump">17,811,218<span></span>
</td>
<td class="nump">17,793,348<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Cash dividends per share (in Dollars per share)</a></td>
<td class="nump">$ 0.69<span></span>
</td>
<td class="nump">$ 6.27<span></span>
</td>
<td class="nump">$ 2.42<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgr_FirearmsMember', window );">Net firearms sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Total net sales</a></td>
<td class="nump">$ 532,608<span></span>
</td>
<td class="nump">$ 540,746<span></span>
</td>
<td class="nump">$ 593,289<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgr_UnaffiliatedCastingsMember', window );">Net castings sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Total net sales</a></td>
<td class="nump">$ 3,035<span></span>
</td>
<td class="nump">$ 3,021<span></span>
</td>
<td class="nump">$ 2,553<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_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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_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_InterestExpenseNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest expense classified as nonoperating.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<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_InterestExpenseNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIncomeAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIncomeAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_OtherOperatingIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RoyaltyIncomeNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Ancillary revenue earned during the period from the consideration paid to the entity for the use of its rights and property by another party. Examples include licensing the use of copyrighted materials and leasing the extraction of natural resources.</p></div>
<a href="javascript: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_RoyaltyIncomeNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SellingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expenses recognized in the period that are directly related to the selling and distribution of products or 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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgr_FirearmsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgr_FirearmsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgr_UnaffiliatedCastingsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgr_UnaffiliatedCastingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759493216">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Stockholders&#8217; Equity - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Treasury Stock</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2021</a></td>
<td class="nump">$ 24,306<span></span>
</td>
<td class="nump">$ 46,847<span></span>
</td>
<td class="nump">$ 438,098<span></span>
</td>
<td class="num">$ (145,590)<span></span>
</td>
<td class="nump">$ 363,661<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">88,332<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">88,332<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStock', window );">Dividends paid</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(42,718)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(42,718)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,671<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,671<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Vesting of RSU&#8217;s</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,371)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,371)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Common stock issued &#8211; compensation plans</a></td>
<td class="nump">72<span></span>
</td>
<td class="num">(72)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_DividendsCommonStockUnpaid', window );">Unpaid dividends accrued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(90,615)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(90,615)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of shares of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(222)<span></span>
</td>
<td class="num">(222)<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">24,378<span></span>
</td>
<td class="nump">45,075<span></span>
</td>
<td class="nump">393,097<span></span>
</td>
<td class="num">(145,812)<span></span>
</td>
<td class="nump">316,738<span></span>
</td>
</tr>
<tr class="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="nump">48,215<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,215<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStock', window );">Dividends paid</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(22,446)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(22,446)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,989<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,989<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Vesting of RSU&#8217;s</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,156)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,156)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Common stock issued &#8211; compensation plans</a></td>
<td class="nump">59<span></span>
</td>
<td class="num">(59)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_DividendsCommonStockUnpaid', window );">Unpaid dividends accrued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(808)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(808)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of shares of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,811)<span></span>
</td>
<td class="num">(11,811)<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">24,437<span></span>
</td>
<td class="nump">46,849<span></span>
</td>
<td class="nump">418,058<span></span>
</td>
<td class="num">(157,623)<span></span>
</td>
<td class="nump">331,721<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,563<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,563<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStock', window );">Dividends paid</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,829)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,829)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,342<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,342<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Vesting of RSU&#8217;s</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(624)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(624)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Common stock issued &#8211; compensation plans</a></td>
<td class="nump">31<span></span>
</td>
<td class="num">(31)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_DividendsCommonStockUnpaid', window );">Unpaid dividends accrued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(183)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(183)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of shares of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(34,408)<span></span>
</td>
<td class="num">(34,408)<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, 2024</a></td>
<td class="nump">$ 24,468<span></span>
</td>
<td class="nump">$ 50,536<span></span>
</td>
<td class="nump">$ 436,609<span></span>
</td>
<td class="num">$ (192,031)<span></span>
</td>
<td class="nump">$ 319,582<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_DividendsCommonStockUnpaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of dividends declared, but unpaid, during 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;">rgr_DividendsCommonStockUnpaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DividendsCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid common stock dividends declared with the form of settlement in cash, stock and payment-in-kind (PIK).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -SubTopic 405<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477787/942-405-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://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><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-4<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<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_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573764645424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Stockholders&#8217; Equity (Parentheticals) - shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfStockholdersEquityAbstract', window );"><strong>Statement of Stockholders' Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock</a></td>
<td class="nump">835,060<span></span>
</td>
<td class="nump">264,062<span></span>
</td>
<td class="nump">4,440<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_StatementOfStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759824112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Operating Activities</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_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 30,563<span></span>
</td>
<td class="nump">$ 48,215<span></span>
</td>
<td class="nump">$ 88,332<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to cash provided by operating activities:</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_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">22,063<span></span>
</td>
<td class="nump">22,383<span></span>
</td>
<td class="nump">25,789<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">4,342<span></span>
</td>
<td class="nump">3,989<span></span>
</td>
<td class="nump">1,671<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_rgr_ExcessAndObsolescenceInventoryReserve', window );">Excess and obsolescence inventory reserve</a></td>
<td class="nump">413<span></span>
</td>
<td class="nump">1,308<span></span>
</td>
<td class="nump">501<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Gain on sale of assets</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(5)<span></span>
</td>
<td class="num">(36)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredOtherTaxExpenseBenefit', window );">Deferred income taxes</a></td>
<td class="num">(4,705)<span></span>
</td>
<td class="num">(5,867)<span></span>
</td>
<td class="num">(5,573)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Trade receivables</a></td>
<td class="num">(7,281)<span></span>
</td>
<td class="nump">5,585<span></span>
</td>
<td class="num">(8,413)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="nump">2,911<span></span>
</td>
<td class="num">(16,125)<span></span>
</td>
<td class="num">(21,644)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Trade accounts payable and accrued expenses</a></td>
<td class="nump">3,789<span></span>
</td>
<td class="num">(4,406)<span></span>
</td>
<td class="num">(640)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Contract liability with customers</a></td>
<td class="num">(149)<span></span>
</td>
<td class="num">(882)<span></span>
</td>
<td class="nump">1,031<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Employee compensation and benefits</a></td>
<td class="num">(5,869)<span></span>
</td>
<td class="num">(6,469)<span></span>
</td>
<td class="num">(3,420)<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_rgr_IncreaseDecreaseInProductLiability', window );">Product liability</a></td>
<td class="num">(188)<span></span>
</td>
<td class="nump">372<span></span>
</td>
<td class="num">(584)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses, other assets and other liabilities</a></td>
<td class="nump">9,615<span></span>
</td>
<td class="num">(13,026)<span></span>
</td>
<td class="num">(954)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Income taxes receivable/payable</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(1,171)<span></span>
</td>
<td class="nump">1,171<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_NetCashProvidedByUsedInOperatingActivities', window );">Cash provided by operating activities</a></td>
<td class="nump">55,504<span></span>
</td>
<td class="nump">33,901<span></span>
</td>
<td class="nump">77,231<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Property, plant and equipment additions</a></td>
<td class="num">(20,821)<span></span>
</td>
<td class="num">(15,796)<span></span>
</td>
<td class="num">(27,730)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInvestments', window );">Purchases of short-term investments</a></td>
<td class="num">(138,885)<span></span>
</td>
<td class="num">(192,627)<span></span>
</td>
<td class="num">(365,480)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments', window );">Proceeds from maturity of short-term investments</a></td>
<td class="nump">145,917<span></span>
</td>
<td class="nump">249,274<span></span>
</td>
<td class="nump">406,319<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfProductiveAssets', window );">Net proceeds from sale of assets</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="nump">100<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Cash (used for) provided by investing activities</a></td>
<td class="num">(13,789)<span></span>
</td>
<td class="nump">40,856<span></span>
</td>
<td class="nump">13,209<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Financing Activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDividends', window );">Dividends paid</a></td>
<td class="num">(11,829)<span></span>
</td>
<td class="num">(110,789)<span></span>
</td>
<td class="num">(42,718)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="num">(34,408)<span></span>
</td>
<td class="num">(11,811)<span></span>
</td>
<td class="num">(222)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payment of employee withholding tax related to share-based compensation</a></td>
<td class="num">(624)<span></span>
</td>
<td class="num">(2,156)<span></span>
</td>
<td class="num">(3,371)<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 );">Cash used for financing activities</a></td>
<td class="num">(46,861)<span></span>
</td>
<td class="num">(124,756)<span></span>
</td>
<td class="num">(46,311)<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">(Decrease) increase in cash and cash equivalents</a></td>
<td class="num">(5,146)<span></span>
</td>
<td class="num">(49,999)<span></span>
</td>
<td class="nump">44,129<span></span>
</td>
</tr>
<tr class="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 at beginning of year</a></td>
<td class="nump">15,174<span></span>
</td>
<td class="nump">65,173<span></span>
</td>
<td class="nump">21,044<span></span>
</td>
</tr>
<tr class="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 at end of year</a></td>
<td class="nump">$ 10,028<span></span>
</td>
<td class="nump">$ 15,174<span></span>
</td>
<td class="nump">$ 65,173<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ExcessAndObsolescenceInventoryReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Excess and obsolescence inventory reserve.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_ExcessAndObsolescenceInventoryReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_rgr_IncreaseDecreaseInProductLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 change during the reporting period in the Product liability expense which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_IncreaseDecreaseInProductLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredOtherTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other deferred income tax expense (benefit) pertaining to income (loss) from continuing operations. For example, but not limited to, acquisition-date income tax benefits or expenses recognized from changes in the acquirer's valuation allowance for its previously existing deferred tax assets resulting from a business combination and adjustments to beginning-of-year balance of a valuation allowance because of a change in circumstance causing a change in judgment about the realizability of the related deferred tax asset in future periods.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredOtherTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478345/912-310-45-11<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsOfDividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of all investments (debt, security, other) during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the sale, maturity and collection of all investments such as debt, security and so forth 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> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfProductiveAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of property, plant and equipment (capital expenditures), software, and other intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfProductiveAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>23
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765391840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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>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_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>1. Summary of Significant Accounting Policies</b></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Sturm, Ruger &amp; Company, Inc. (the &#8220;Company&#8221;)
is principally engaged in the design, manufacture, and sale of firearms to domestic customers. Approximately 99% of sales were from firearms.
Export sales represented approximately 5% of firearms sales. The Company&#8217;s design and manufacturing operations are located in the
United States and almost all product content is domestic. The Company&#8217;s firearms are sold through a select number of independent
wholesale distributors principally to the commercial sporting market.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company manufactures investment castings made
from steel alloys and metal injection molding (&#8220;MIM&#8221;) parts for internal use in its firearms and utilizes available capacity
to manufacture and sell investment castings and MIM parts to unaffiliated, third-party customers. Castings were less than 1% of the Company&#8217;s
total sales for the year ended December 31, 2024.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Preparation
of Financial Statements</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company follows United States generally accepted
accounting principles (&#8220;GAAP&#8221;). The preparation of financial statements in conformity with GAAP requires management to make
estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent liabilities at the date
of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ
from these estimates.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The significant accounting policies described
below, together with the notes that follow, are an integral part of the consolidated financial statements.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Principles
of Consolidation</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The consolidated financial statements include
the accounts of the Company and its wholly owned subsidiaries. All significant intercompany accounts and transactions have been eliminated.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Revenue Recognition</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company recognizes revenue in accordance with
the provisions of Accounting Standards Codification Topic 606, Revenue from Contracts with Customers (&#8220;ASC 606&#8221;), which became
effective January 1, 2018. Substantially all product sales are sold FOB (free on board) shipping point. Customary payment terms are 2%
30 days, net 40 days. Generally, all performance obligations are satisfied when product is shipped and the customer takes ownership and
assumes the risk of loss. In some instances, sales include multiple performance obligations. The most common of these instances relates
to sales promotion programs under which downstream customers are entitled to receive no charge products based on their purchases of certain
of the Company&#8217;s products from the independent distributors. The fulfillment of these no charge products </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">is the Company&#8217;s
responsibility. In such instances, the Company allocates the revenue of the promotional sales based on the estimated level of participation
in the sales promotional program and the timing of the shipment of all of the firearms included in the promotional program, including
the no charge firearms. Revenue is recognized proportionally as each performance obligation is satisfied, based on the relative customary
price of each product. Customary prices are generally determined based on the prices charged to the independent distributors. The net
change in contract liabilities for a given period is reported as an increase or decrease to sales. The Company accounts for cash sales
discounts as a reduction in sales. Amounts billed to customers for shipping and handling fees are included in net sales and costs incurred
by the Company for the delivery of goods are classified as selling expenses. Federal excise taxes are excluded from net sales.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Cash and
Cash Equivalents</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company considers interest-bearing deposits
with financial institutions with remaining maturities of three months or less at the time of acquisition to be cash equivalents.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Fair Value
Measurements of Short-term Investments</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Fair value is defined as the price that would
be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants in the principal or
most advantageous market at the measurement date. Fair value is established according to a hierarchy that prioritizes observable and unobservable
inputs used to measure fair value into three broad levels, which are described below:</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 1: Unadjusted quoted prices in
active markets that are accessible at the measurement date for assets or liabilities. The fair value hierarchy gives the highest priority
to Level 1 inputs.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 2: Observable prices that are
based on inputs not quoted on active markets, but corroborated by market data.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 3: Unobservable inputs are used
when little or no market data is available. Level 3 inputs are given the lowest priority in the fair value hierarchy.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The asset or liability&#8217;s fair value measurement
level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation
techniques used need to maximize the use of observable inputs and minimize the use of unobservable inputs.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">As
of December 31, 2024, the Company&#8217;s short-term investments consist of U.S. Treasury instruments (Level 1), maturing within one year,
and </span>investments in a bank-managed money market fund that invests exclusively in United States Treasury obligations and is valued
at the net asset value ("NAV") daily closing price, as reported by the fund, based on the amortized cost of the fund&#8217;s
securities (Level 2)<span style="font-family: Times New Roman, Times, Serif">. For the bank-managed money market fund, t</span>he NAV
is used as a practical expedient to estimate fair value. This practical expedient is not used when it is determined to be probable that
the fund will sell the investment for an amount different than the reported NAV<span style="font-family: Times New Roman, Times, Serif">.
Such securities are classified as held to maturity, since the Company has the intent and ability to do so, and are carried at cost plus
accrued interest, which approximates fair value.</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The fair value of inventory acquired as part of
business combination is based on a third-party valuation utilizing the comparable sales method which is based on Level 2 and Level 3 inputs.
The fair value of property, plant and equipment acquired as part of business combination is based on a third-party valuation utilizing
the indirect method of cost approach, which is based on Level 2 and Level 3 inputs. The fair value of patents acquired as part of business
combination is based on a third-party valuation utilizing the replacement cost method, which is based on Level 2 and Level 3 inputs. The
fair value of the remaining intangible assets as part of business combination are based on a third-party valuation utilizing discounted
cash flow methods that involves inputs, which are not observable in the market (Level 3).</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Accounts Receivable</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company establishes an allowance for doubtful
accounts based on the creditworthiness of its customers and historical experience. While the Company uses the best information available
to make its evaluation, future adjustments to the allowance for doubtful accounts may be necessary if there are significant changes in
economic and industry conditions or any other factors considered in the Company&#8217;s evaluation. Bad debt expense has been immaterial
during each of the last three years. The Company mitigates its credit risk by maintaining credit insurance on most of its significant
customers.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Inventories</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Substantially all of the Company&#8217;s inventories
are valued at the lower of cost, principally determined by the last-in, first-out (LIFO) method, or net realizable value. Elements of
cost in inventories include raw materials, direct labor and manufacturing overhead.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Property,
Plant and Equipment</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Property, plant and equipment are carried at cost.
Depreciation is computed over useful lives using the straight-line and declining balance methods predominately over 15 years for buildings,
7 years for machinery and equipment and 3 years for tools and dies. When assets are retired, sold or otherwise disposed of, their gross
carrying values and related accumulated depreciation are removed from the accounts and a gain or loss on such disposals is recognized
when appropriate.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Maintenance and repairs are charged to operations;
replacements and improvements are capitalized.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Long-lived Assets</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company evaluates the carrying value of long-lived
assets to be held and used when events or changes in circumstances indicate the carrying value may not be recoverable. In performing this
review, the carrying value of the assets is compared to the projected undiscounted cash flows to be generated from the assets. If the
sum of the undiscounted expected future cash flows is less than the carrying value of the assets, the assets are considered to be impaired.
Impairment losses are measured as the amount by which the carrying value of the assets exceeds their fair value. The Company bases fair
value of the assets on quoted market prices if available or, if not available, quoted market prices of similar assets. Where quoted market
prices are not available, the Company </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">estimates fair value using the estimated future cash flows generated by the assets discounted at
a rate commensurate with the risks associated with the recovery of the assets. As of December 31, 2024, the Company does not believe there
are any indications of impairment related to long-lived assets.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Goodwill</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s goodwill represents the excess
of the purchase price of business combinations over the fair value of the net assets acquired. We assess goodwill for impairment on an
annual basis during the fourth quarter of each year, and between annual tests whenever events or changes in circumstances indicate that
the carrying amount may not be recoverable. An impairment exists by the amount the fair value of a reporting unit to which goodwill has
been allocated is less than their respective carrying values. The impairment for goodwill is limited to the total amount of goodwill allocated
to the reporting unit. Goodwill impairment testing requires significant judgment and management estimates, including, but not limited
to, the determination of (i)&#160;the number of reporting units, (ii)&#160;the goodwill and other assets and liabilities to be allocated
to the reporting units and (iii)&#160;the fair values of the reporting units. The estimates and assumptions described above, along with
other factors such as discount rates, will significantly affect the outcome of the impairment tests and the amounts of any resulting impairment
losses. As of December 31, 2024, the Company does not believe there are any indications of impairment related to goodwill.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Income Taxes</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income taxes are accounted for using the asset
and liability method. Under this method, deferred income taxes are recognized for the tax consequences of &#8220;temporary differences&#8221;
by applying enacted statutory rates applicable to future years to temporary differences between the financial statement carrying amounts
and the tax basis of the Company&#8217;s assets and liabilities.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Product Liability</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company provides for product liability claims
including estimated legal costs to be incurred defending such claims. The provision for product liability claims is charged to cost of
products sold.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company includes advertising costs in selling
expenses and these costs are expensed as incurred. Advertising costs for 2024, 2023, and 2022, were $3.4 million, $3.1 million, and $2.4
million, respectively.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Shipping
Costs</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Costs incurred related to the shipment of products
are included in selling expense. Such costs totaled $4.3 million, $4.4 million, and $4.7 million in 2024, 2023, and 2022, respectively.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Research and Development</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, 2023, and 2022, the Company spent approximately
$8.2 million, $9.8 million, and $9.6 million, respectively, on research and development activities relating to new products and the improvement
of existing products. These costs are included in costs of products sold and are expensed as incurred. These costs are capitalized for
tax purposes under the provisions of the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174, as discussed in Note 13.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Earnings per Share</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Basic earnings per share is based upon the weighted-average
number of shares of common stock outstanding during the year. Diluted earnings per share reflect the impact of restricted stock units
and deferred stock outstanding using the treasury stock method.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In November of 2023, the FASB issued ASU 2023-07,
&#8220;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#8221; The updated accounting guidance requires
enhanced reportable segment disclosures, primarily related to significant segment expenses which are regularly provided to the chief operating
decision maker. The guidance is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning
after December 15, 2024. The Company adopted ASU 2023-07, beginning with the current filing. The adoption of the new guidance required
additional disclosures, but did not have a material impact to the Company. Refer to Note 17, Operating Segment Information, for the updated
presentation.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In December of 2023, the FASB issued ASU 2023-09,
&#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#8221; The updated accounting guidance requires expanded income
tax disclosures, including the disaggregation of existing disclosures related to the effective tax rate reconciliation and income taxes
paid. The guidance is effective for fiscal years beginning after December 15, 2024. Prospective application is required, with retrospective
application permitted. The Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In November 2024, the FASB issued ASU No. 2024-03,
&#8220;Income Statement&#8212;Reporting Comprehensive Income&#8212;Expense Disaggregation Disclosures,&#8221; which requires additional
disclosure of certain costs and expenses within the notes to the financial statements. The updated standard is effective for annual reporting
periods beginning after December 15, 2026 and interim reporting periods within annual reporting periods beginning after December 15,
2027. The requirements will be applied prospectively with the option for retrospective application. Early adoption is permitted. The
Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573764098512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition and Contracts with Customers<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue Recognition and Contracts with Customers [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_RevenueFromContractWithCustomerTextBlock', window );">Revenue Recognition and Contracts with Customers</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>2. Revenue Recognition and Contracts with Customers</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The impact of ASC 60<span style="font-family: Times New Roman, Times, Serif">6
on revenue recognized during the years ended December 31, 2024, December 31, 2023, and</span> December 31, 2022 is as follows:</p>

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

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">&#160;</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left; text-indent: -0.3in; padding-left: 0.3in">Contract liabilities with customers at January 1,</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">149</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">1,031</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-18">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Revenue recognized</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(149</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(4,084</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-19">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Revenue deferred</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-20">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,202</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,031</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left; text-indent: -0.3in; padding-left: 0.3in">Contract liabilities with customers at December 31,</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-21">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">149</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1,031</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During the year ended December 31, 2024, the Company
did not defer any revenue and recognized $0.1 million of revenue previously deferred as the performance obligations relating to the shipment
of free products were satisfied. This resulted in a net increase in firearms sales for the year ended December 31, 2024 of $0.1 million
and there being <span style="-sec-ix-hidden: hidden-fact-22">no</span> deferred contract revenue liability at December 31, 2024.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During the year ended December 31, 2023, the Company
deferred $3.2 million of revenue, offset by the recognition of $4.1 million of revenue previously deferred as the performance obligations
relating to the shipment of free products were satisfied. This resulted in a net increase in firearms sales for the year ended December
31, 2023 of $0.9 million and a deferred contract revenue liability at December 31, 2023 of $0.1 million.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During the year ended December 31, 2022, the Company
deferred $1.0 million of revenue. There was no offset for the recognition from previously deferred revenue as the Company did not satisfy
any performance obligations relating to the shipment of free products during the year. This resulted in a net decrease in firearms sales
for the year ended December 31, 2022 of $1.0 million and a deferred contract revenue liability at December 31, 2022 of $1.0 million.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Practical Expedients and Exemptions</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has elected to account for shipping
and handling activities that occur after control of the related product transfers to the customer as fulfillment activities that are
recognized upon shipment of the goods.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript: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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-9<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 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10<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 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-15<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 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<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 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<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 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<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 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<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 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13<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_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573760669984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Trade Receivables, Net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetAbstract', window );"><strong>Trade Receivables, Net [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock', window );">Trade Receivables, Net</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>3. Trade Receivables, Net</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Trade receivables consist of the following:</p>

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

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Trade receivables</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">68,855</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">61,428</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Allowance for doubtful accounts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(400</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(400</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Allowance for discounts</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,310</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,164</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">67,145</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">59,864</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, the largest individual trade receivable
balances accounted for 26%, 20%, 14%, and 11% of total trade receivables, respectively.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, the largest individual trade receivable
balances accounted for 22%, 20%, and 17% of total trade receivables, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 claims held for amounts due to entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.</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> -Publisher FASB<br> -URI https://asc.fasb.org/310-10/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759646672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventories [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>4. Inventories</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Inventories consist of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap">December 31,</td><td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2024</td><td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2023</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal">&#160;</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal">Inventory at FIFO</span></p></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left; padding-left: 21.8pt">Finished goods</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">26,022</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">30,989</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 21.8pt">Materials and products in process</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">123,395</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">119,203</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">149,417</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">150,192</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 21.8pt">Less:&#160;&#160;LIFO reserve</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(66,398</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(64,262</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 21.8pt">Less:&#160;&#160;excess and obsolescence reserve</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(6,533</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(6,120</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Net inventories</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">76,486</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">79,810</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765391840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant and Equipment<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>5. Property, Plant and Equipment</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Property, plant and equipment consist of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Land and improvements</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,826</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,826</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Buildings and improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">76,153</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">74,650</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">333,365</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">322,730</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Dies and tools</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">65,278</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">62,191</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Property, plant and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">477,622</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">462,397</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Less allowances for depreciation</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(406,373</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(390,863</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Net property, plant and equipment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">71,249</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">71,534</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Depreciation expense totaled $21.1 million, $21.1
million, and $24.4 million in 2024, 2023, and 2022, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759621520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsAbstract', window );"><strong>Other Assets [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_OtherAssetsDisclosureTextBlock', window );">Other Assets</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>6. Other Assets</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other assets consist of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 74%; text-align: left">Patents, at cost</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,339</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,280</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deposits on capital items</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,443</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">23,045</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Marlin trade name, at cost</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,800</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Accumulated amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(8,008</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(7,171</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">9,173</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">9,958</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">37,747</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">43,912</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The capitalized cost of patents is amortized using
the straight-line method over their useful lives. Expenses related to patent amortization was $0.5 million in 2024, $0.4 million in 2023,
and $0.4 million in 2022. The estimated annual patent amortization expense for each of the next five years is $0.4 million. Costs incurred
to maintain existing patents are charged to expense in the year incurred. The Marlin trade name will be amortized using the straight-line
method over its useful life. The estimated annual trade name amortization cost for each of the next five years is $0.4 million. The intangible
asset related to Marlin customer relationships are included in Other above and will be amortized using the straight-line method over its
useful life. The estimated annual customer relationship name amortization expense for each of the next five years is $0.1 million.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 other assets. This disclosure includes other current assets and other noncurrent assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765436992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leased Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leased Assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">LEASED ASSETS</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>7. Leased Assets</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company leases certain of its real estate
and equipment. The Company has evaluated all its leases and determined that all are operating leases under the definitions of the guidance
of ASU 2016-02. The Company&#8217;s lease agreements generally do not require material variable lease payments, residual value guarantees
or restrictive covenants.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company uses the effective interest method
to record right-of-use assets equal to the present value of the contractual liability for future lease payments. The table below presents
the right-of-use assets and related lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2024:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"> <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">Balance Sheet Line<br/> Item</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td> <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">December 31,<br/> 2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td> <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">December 31,<br/> 2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: right">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 49%; text-align: left">Right-of-use assets</td><td style="width: 1%">&#160;</td> <td style="width: 20%; text-align: center">Other assets</td><td style="width: 1%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">2,345</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">2,781</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 0pt">Operating lease liabilities</td><td>&#160;</td> <td style="text-align: center">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="vertical-align: top; text-align: left; padding-left: 18.55pt">&#160;</td><td>&#160;</td> <td style="text-align: center; text-indent: 5.3pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="vertical-align: top; text-align: left; padding-left: 18.55pt">Current portion</td><td>&#160;</td> <td style="text-align: center; text-indent: 5.3pt">Trade accounts payable and accrued expenses</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">598</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">611</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="vertical-align: top; text-align: left; padding-left: 18.55pt">&#160;</td><td>&#160;</td> <td style="text-align: center; text-indent: 5.3pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 18.55pt">Noncurrent portion</td><td>&#160;</td> <td style="text-align: center; text-indent: 5.3pt">Lease liabilities</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,747</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">2,170</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="border-bottom: Black 1pt solid; padding-left: 18.55pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="border-bottom: Black 2.5pt double; text-align: left">Total operating lease liabilities</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: right">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,345</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,781</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td></tr> </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The depreciable lives of right-of-use assets are
limited by the lease term and are amortized on a straight line basis over the life of the lease.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s leases generally do not provide
an implicit interest rate, and therefore the Company calculates an incremental borrowing rate to determine the present value of its operating
lease liabilities.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">The table below includes cash
paid for our operating lease liabilities, other non-cash information, our weighted average remaining lease term and weighted average discount
rate:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"> <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; padding-left: 0pt; white-space: nowrap; text-indent: 0pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td> <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">Year Ended</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr> <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"> <td style="font: bold 8pt Times New Roman, Times, Serif; padding-left: 0pt; white-space: nowrap; border-bottom: Black 1pt solid; text-indent: 0pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td> <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">December 31,<br/> 2024</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td> <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">December 31,<br/> 2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr> <tr style="vertical-align: bottom"> <td style="padding-left: 0pt; white-space: nowrap; text-indent: 0pt">&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: center">&#160;</td><td>&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-indent: 0pt; width: 74%; text-align: left; padding-left: 0pt">Cash paid for amounts included in the measurement of lease liabilities </td><td style="width: 1%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">796</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">796</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: 0pt; text-align: left; padding-left: 0pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; text-indent: 0pt; padding-left: 0pt">Cash amounts paid for short-term leases</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">449</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">565</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: 0pt; padding-left: 0pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-indent: 0pt; text-align: left; padding-left: 0pt">Right-of-use assets obtained in exchange for lease liabilities</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: hidden-fact-23">&#8212;</span></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: hidden-fact-24">&#8212;</span></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: 0pt; padding-left: 0pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; text-indent: 0pt; padding-left: 0pt">Weighted average remaining lease term (years)</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">7.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">7.9</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: 0pt; padding-left: 0pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="border-bottom: Black 1pt solid; text-indent: 0pt; padding-left: 0pt">Weighted average discount rate</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8.0%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">5.0%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr> </table><p style="margin: 0pt 0; font: 10pt Times New Roman, Times, Serif">The following table reconciles the undiscounted future minimum lease
payments to the total operating lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2024:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 87%; text-align: left; padding-left: 30pt">2025</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">765</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">771</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">295</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">2029</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 30pt; vertical-align: bottom">Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">800</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">Total undiscounted future minimum lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,951</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-bottom: 1pt; text-indent: -22.5pt; padding-left: 53.25pt">Less: Difference between undiscounted lease payments &amp; the present value of future lease payments</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(606</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-bottom: 2.5pt; padding-left: 30pt">Total operating lease liabilities</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,345</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Certain of the Company&#8217;s lease agreements
contain renewal options at the Company&#8217;s discretion. The Company does not recognize right-of-use assets or lease liabilities for
leases of one year or less or for renewal periods unless it is reasonably certain that the Company will exercise the renewal option at
the inception of the lease or when a triggering event occurs. The Company&#8217;s weighted average remaining lease term for operating
leases as of December 31, 2024 is 7.7 years.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765513824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Trade Accounts Payable and Accrued Expenses<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract', window );"><strong>Trade Accounts Payable and Accrued Expenses [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Trade Accounts Payable and Accrued Expenses</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>8. Trade Accounts Payable and Accrued Expenses</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Trade accounts payable and accrued expenses consist
of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Trade accounts payable</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">13,170</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">11,100</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Federal excise taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13,192</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,954</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Accrued other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">9,388</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8,654</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">35,750</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">31,708</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 720<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483384/720-30-45-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573758656800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Dividends<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Accrued Dividends [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Accrued Dividends</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>9. Accrued Dividends</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On November 30, 2022, the Company&#8217;s Board
of Directors declared a $5.00 per share special dividend payable on January 5, 2023 to stockholders of record as of December 15, 2022.
The dividend, which totaled $88.3 million, was paid on January 5, 2023.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573763807712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Line of Credit<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAbstract', window );"><strong>Line of Credit [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 );">Line of Credit</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>10. Line of Credit</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On January 7, 2022, the Company entered into a
three-year, $40 million unsecured revolving line of credit agreement with a bank. On June 6, 2024, the Company amended its existing line
of credit agreement, which now expires January 7, 2028. Borrowings under this new facility bear interest at the applicable Secured Overnight
Financing Rate (SOFR), plus 150 basis points, plus an additional adjustment of eight basis points. The Company is also charged one-quarter
of a percent </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">(0.25%) per year on the unused portion. At December 31, 2024, the Company was in compliance with the terms and covenants
of the credit facility.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 405<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477092/405-40-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1C<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1E<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765204736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Benefit Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Employee Benefit Plans [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Employee Benefit Plans</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>11. Employee Benefit Plans</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company sponsors a qualified defined-contribution
401(k) plan that covers substantially all of its employees. Under the terms of the 401(k) plan, the Company matches a certain portion
of employee contributions to their individual 401(k) accounts using the &#8220;safe harbor&#8221; guidelines provided in the Internal
Revenue Code. Expenses related to matching employee contributions to the 401(k) plan were $4.1 million, $4.7 million, and $4.1 million
in 2024, 2023, and 2022, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Additionally, in 2024, 2023, and 2022 the Company
provided discretionary supplemental contributions to the individual 401(k) accounts of substantially all employees. Each employee received
a supplemental contribution to their account based on a uniform percentage of qualifying compensation established annually. The cost of
these supplemental contributions totaled $7.0 million, $6.9 million, and $7.4 million in 2024, 2023, and 2022, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for retirement benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480794/715-70-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/715/tableOfContent<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480126/715-20-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480266/715-60-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573764657552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Operating Income, Net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Other Operating Income, Net [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock', window );">Other Operating Income, Net</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>12. Other Operating Income, Net</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other operating income, net consists of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap">Year ended December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 61%">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Gain on sale of operating assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-25">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">5</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">36</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 other income or other expense items (both operating and nonoperating). Sources of nonoperating income or nonoperating expense that may be disclosed, include amounts earned from dividends, interest on securities, profits (losses) on securities, net and miscellaneous other income or income deductions.</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> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/720/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Topic 610<br> -Publisher FASB<br> -URI https://asc.fasb.org/610/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_OtherIncomeAndOtherExpenseDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765464112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>13. Income Taxes </b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company files income tax returns in the U.S.
federal jurisdiction and various state jurisdictions. With few exceptions, the Company is no longer subject to U.S. federal and state
income tax examinations by tax authorities for years before 2017.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The federal and state income tax provision consisted of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap">Year ended December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Current</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Deferred</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Current</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Deferred</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Current</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Deferred</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 22%">Federal</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,310</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(4,190</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">14,763</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(5,285</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">21,741</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(4,694</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">State</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,607</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(515</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,713</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(582</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,779</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(879</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">11,917</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(4,705</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">16,476</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,867</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">25,520</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,573</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  </table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The effective income tax rate varied from the statutory federal income
tax rate as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left; text-indent: -13.75pt; padding-left: 13.75pt">Statutory federal income tax rate</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.75pt; padding-left: 13.75pt">State income taxes, net of federal tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.5</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.2</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.7</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Research and development tax credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(5.9</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2.7</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(4.2</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1.1</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt">Effective income tax rate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">19.1%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">18.0%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">18.4%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company estimates that its effective tax rate
in 2025 will approximate 20.3%.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>&#160;</i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Significant components of the Company&#8217;s
deferred tax assets and liabilities are as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Deferred tax assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 74%; text-align: left; padding-left: 22.5pt">Capitalized research and development costs</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">12,566</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">9,144</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 22.5pt">Employee compensation and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,483</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,452</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 22.5pt">Allowances for doubtful accounts and discounts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">452</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">431</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 22.5pt">Inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,831</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,635</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 22.5pt">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,876</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,698</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 22.5pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,537</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,608</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Total deferred tax assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">20,745</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">16,968</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Deferred tax liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -4.5pt; padding-left: 27pt">Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,868</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,578</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-indent: -4.5pt; padding-left: 27pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,196</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,414</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Total deferred tax liabilities</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">4,064</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">4,992</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Net deferred tax assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">16,681</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">11,976</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, the Company adopted the provisions of
the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174. Under these provisions, research and development costs must be
capitalized and amortized over five years for income tax purposes. The Company continues to expense these costs in the period incurred
for financial accounting purposes.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company made income tax payments of approximately
$10.6 million, $26.0 million, and $28.7 million, during 2024, 2023, and 2022, respectively. The Company expects to realize its deferred
tax assets through tax deductions against future taxable income<i>. </i></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company does not believe it has included
any &#8220;uncertain tax positions&#8221; in its federal income tax return or any of the state income tax returns it is currently filing.
The Company has made an evaluation of the potential impact of additional state taxes being assessed by jurisdictions in which the Company
does not currently consider itself liable. The Company does not anticipate that such additional taxes, if any, would result in a material
change to its financial position.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477891/740-270-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/740/tableOfContent<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-14<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-21<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573764098016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings Per Share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>14. Earnings Per Share</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Set forth below is a reconciliation of the numerator
and denominator for the basic and diluted earnings per share calculations for the periods indicated:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Numerator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 61%; text-align: left; text-indent: 17.9pt; padding-left: 0.1pt">Net income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">30,563</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">48,215</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">88,332</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Denominator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -9pt; padding-left: 27pt">Weighted average number of common shares outstanding &#8211; Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,088,205</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,676,955</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,648,850</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -9pt; padding-left: 27pt">Dilutive effect of options and restricted stock units outstanding under the Company&#8217;s employee compensation plans</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">181,896</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">134,263</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">144,498</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -27pt; padding-left: 27pt">Weighted average number of common shares outstanding &#8211; Diluted</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">17,270,101</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">17,811,218</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">17,793,348</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>37
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573764098512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Repurchases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAbstract', window );"><strong>Stock 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_rgr_StockRepurchasesDisclosureTextBlock', window );">Stock Repurchases</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>15. Stock Repurchases</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, 2023, and 2022 the Company repurchased
shares of its common stock. Details of these purchases are as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid">Period</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Total <br/>
Number of <br/>
Shares <br/>
Purchased</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Average <br/>
Price Paid<br/>
 per Share</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Total Number <br/>
of Shares<br/>
 Purchased as <br/>
Part of <br/>
Publicly<br/>
 Announced<br/>
 Program</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Maximum <br/>
Dollar Value <br/>
of Shares that<br/>
 May Yet Be <br/>
Purchased <br/>
Under the<br/>
 Program</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 2.7pt">Third Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 16.2pt">July 3 to July 30</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-26">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-27">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-28">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 16.2pt">July 31 to August 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-29">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-30">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-31">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; width: 48%; padding-left: 16.2pt">August 28 to October 1</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right">2,136</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right">49.97</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right">2,136</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 2.7pt">Fourth Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 16.2pt">October 2 to October 29</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-32">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-33">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-34">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 16.2pt">October 30 to November 26</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,304</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">49.77</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,304</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 16.2pt">November 27 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-35">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-36">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-37">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 2.7pt">Fourth Quarter 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 16.2pt">October 1 to October 28</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-38">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-39">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-40">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 16.2pt">October 29 to November 25</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">179,341</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">45.20</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">179,341</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 16.2pt">November 26 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">84,721</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">43.67</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">84,721</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: White; font-size: 10pt">
    <td style="border-top: Black 1pt solid; text-align: left">First Quarter 2024</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; padding-left: 0.3in">January 1 to January 27</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">7,317</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">43.42</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">7,317</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">January 28 to February 24</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,307</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">42.93</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,307</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">February 25 to March 30</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">47,400</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">42.79</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">47,400</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Second Quarter 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0.3in">March 31 to April 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-41">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-42">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-43">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">April 28 to May 25</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">28,924</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">42.92</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">28,924</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">May 26 to June 29</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">373,969</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">42.27</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">373,969</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Third Quarter 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0.3in">June 30 to July 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">156,517</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">41.27</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">156,517</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">July 28 to August 24</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-44">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-45">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-46">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">August 25 to September 28</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">64,325</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">40.66</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">64,325</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Fourth Quarter 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0.3in">September 29 to October 26</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,340</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">40.50</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,340</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">October 27 to November 23</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,129</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">39.50</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,129</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">November 23 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">72,832</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">34.81</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">72,832</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">Total</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,103,562</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">42.07</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,103,562</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">40,290,000</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">All of these purchases were made with cash held
by the Company and no debt was incurred</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2024, approximately $40.3 million
remained authorized for share repurchases.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_StockRepurchasesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of stock repurchase.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_StockRepurchasesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_TreasuryStockValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance 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>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573760687312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Compensation Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationAbstract', window );"><strong>Compensation Plans [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Compensation Plans</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>16. Compensation Plans</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In May 2017, the Company&#8217;s shareholders
approved the 2017 Stock Incentive Plan (the &#8220;2017 SIP&#8221;) under which employees, independent contractors, and non-employee directors
may be granted stock options, restricted stock, deferred stock awards, and stock appreciation rights, any of which may or may not require
the satisfaction of performance objectives. Vesting requirements are determined by the Compensation Committee of the Board of Directors<i>.
</i>The Company has reserved 750,000 shares for issuance under the 2017 SIP.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In June 2023, the Company&#8217;s shareholders
approved the 2023 Stock Incentive Plan (the &#8220;2023 SIP&#8221;) under which employees, independent contractors, and non-employee directors
may be granted stock options, restricted stock, deferred stock awards, and stock appreciation rights, any of which may or may not require
the satisfaction of performance objectives. Vesting requirements are determined by the Compensation Committee of the Board of Directors.
The Company reserved 1,000,000 shares for issuance under the 2023 SIP, of which 845,000 shares remain available for future grants as of
December 31, 2023. Approximately 150,000 shares remaining from the 2017 SIP will be available for future grants under the terms of
the 2023 SIP. Since the shareholder approval of the 2023 SIP, no additional awards have been or will be granted under the 2017 SIP. Previously
granted and outstanding awards under the 2017 SIP will remain subject to the terms of the 2017 SIP.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Compensation expense related to deferred stock,
restricted stock, and restricted stock units is recognized based on the grant-date fair value of the Company&#8217;s common stock, using
either the actual share price or an estimated value using the Monte Carlo valuation model. The total stock-based compensation cost included
in the Statements of Income was $5.8 million, $6.2 million, and $5.7 million in 2024, 2023, and 2022, respectively.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Deferred Stock</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Deferred stock awards vest based on the passage
of time or the Company&#8217;s attainment of performance objectives. Upon vesting, these awards convert one-for-one to common stock.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, 9,291 deferred stock awards were issued
to non-employee directors that will vest in June 2025 and 11,992 deferred stock awards were issued to non-employee directors that will
vest in June 2027</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, 7,566 deferred stock awards were issued
to non-employee directors that vested in June 2024 and 9,760 deferred stock awards were issued to non-employee directors that will
vest in June 2026.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, 5,953 deferred stock awards were issued
to non-employee directors that vested in May 2023, 7,688 deferred stock awards were issued to non-employee directors that will vest in
May 2025 and a 1,478 deferred stock award was issued to a non-employee director that will vest in June 2027.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Compensation expense related to these awards is
amortized ratably over the vesting period. Compensation expense related to these awards was $0.9 million in 2024, $0.9 million in 2023,
and $0.8 million in 2022.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2024, there was $1.0 million of
unrecognized compensation cost related to deferred stock that is expected to be recognized over a period of three years.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Restricted Stock Units</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company grants restricted stock units (RSU&#8217;s)
to senior employees. Some of these RSU&#8217;s are retention awards and have only time-based vesting. Other RSU&#8217;s have a vesting
&#8220;double trigger.&#8221; The vesting of these RSU&#8217;s is dependent on the achievement of corporate objectives established by
the Compensation Committee of the Board of Directors, including return on net operating assets, stock performance, and the passage of
time.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2024, 153,000 restricted stock units were
issued. Compensation costs related to these restricted stock units was $6.8 million, of which $1.9 million was recognized in 2024. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from 24 to 26 months.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2023, 114,000 restricted stock units were
issued. Compensation costs related to these restricted stock units was $6.1 million, of which $1.3 million was recognized in 2023. The
costs </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">are being recognized ratably over the remaining periods required before the units vest, which range from 24 to 26 months.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2022, 82,000 restricted stock units were
issued. Compensation costs related to these restricted stock units was $6.0 million, of which $1.7 million was recognized in 2022. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from 24 to 26 months.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At December 31, 2024, there was $7.8 million of
unrecognized compensation cost related to restricted stock units that is expected to be recognized over a period of 3.3 years.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573863655712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Segment Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract', window );"><strong>Operating Segment Information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Operating Segment Information</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>17. Operating Segment Information</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has two reportable operating segments:
firearms and castings. The firearms segment manufactures and sells rifles, pistols, and revolvers principally to a number of federally-licensed,
independent wholesale distributors primarily located in the United States. The castings segment manufactures and sells steel investment
castings and metal injection molding parts.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Corporate segment income relates to interest income,
the sale of non-operating assets, and other non-operating activities. Corporate segment assets consist of cash and other non-operating
assets.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company evaluates performance and allocates
resources, in part, based on income (loss) before taxes. The accounting policies of the reportable segments are the same as those described
in the summary of significant accounting policies (see Note 1). Intersegment sales are recorded at the Company&#8217;s cost plus a fixed
profit percentage.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">This segment structure reflects the financial
information and reports used by the Company&#8217;s management, specifically its CODM, to make decisions regarding the Company&#8217;s
business, including resource allocations and performance assessments, as well as the current operating focus in compliance with ASC 280,
Segment Reporting. The Company&#8217;s reportable segments are not aggregated.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s method for measuring performance
of a reportable segment is primarily gross profit. The CODM does not review disaggregated assets by segment. The Company adopted ASU 2023-07
in January 2025. The most significant provision was the required disclosure of significant segment expenses that are regularly provided
to the CODM. The Company&#8217;s CODM periodically reviews cost of goods sold by segment and treats it as a significant segment expense.</p><table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: normal; text-align: justify">Net Sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 61%">Firearms</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">532,608</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">540,746</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">593,289</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt">Unaffiliated</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,035</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,021</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,553</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 20pt">Intersegment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">31,528</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">33,086</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">21,306</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">34,563</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">36,107</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">23,859</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Eliminations</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(31,528</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(33,086</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(21,306</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">535,643</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">543,767</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">595,842</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Costs of Goods Sold</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">417,222</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">407,068</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">410,507</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt">Unaffiliated</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,006</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,080</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,250</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 20pt">Intersegment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">31,528</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">33,086</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">21,306</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">35,534</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">36,166</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">26,556</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Eliminations</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(31,528</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(33,086</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(21,306</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">421,228</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">410,148</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">415,757</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross Profit (Loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">115,386</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">133,678</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">182,782</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(971</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(59</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,697</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">114,415</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">133,619</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">180,085</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Operating Income (Loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">33,273</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">52,887</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">106,803</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,619</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(803</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(3,347</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">31,654</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">52,084</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">103,456</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Income (Loss) Before Income Taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">34,051</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">53,723</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">108,609</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,616</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(799</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,338</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">&#160;Corporate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">5,340</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">5,900</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,008</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">37,775</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">58,824</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">108,279</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Identifiable Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 61%">Firearms</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">230,024</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">228,699</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">223,301</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,303</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,144</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,910</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Corporate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">144,707</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">158,974</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">249,552</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">384,034</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">398,817</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">484,763</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Goodwill</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,055</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,055</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,055</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">209</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">209</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">209</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,264</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,264</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,264</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">19,952</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">19,301</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">21,992</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,154</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,814</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2,452</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">21,106</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">21,115</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">24,444</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Capital Expenditures</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">20,488</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">15,395</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">26,598</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">333</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">401</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,175</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">20,821</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">15,796</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">27,773</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - 28%; Sports South - 18%; and Davidson&#8217;s - 16%.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2023, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - 24%; Davidson&#8217;s - 19%; and Sports South -15%.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2022, the Company&#8217;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#8217;s - 23%; Davidson&#8217;s - 23%; and Sports South - 21%.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s assets are located entirely
in the United States and domestic sales represented at least 94% of total sales in 2024, 2023, and 2022.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-34<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26C<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-15<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/280/tableOfContent<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-21<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-21<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573763826224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Quarterly Results of Operations (Unaudited)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly Results of Operations (Unaudited) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_QuarterlyFinancialInformationTextBlock', window );">Quarterly Results of Operations (Unaudited)</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>18. Quarterly Results of Operations (Unaudited)</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.25in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following is a tabulation of the unaudited
quarterly results of operations for the two years ended December 31, 2024:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1.25in">&#160;</p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Three Months Ended</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">3/30/24</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">6/29/24</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">9/28/24</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">12/31/24</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-weight: normal; text-align: left; text-indent: 0.5pt">Net Sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">136,820</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">130,761</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">122,287</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">145,775</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.5pt">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">29,403</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">29,154</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">22,672</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">33,186</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.5pt">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,084</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,264</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,738</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,477</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 0.5pt">Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.41</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.48</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.28</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.63</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-indent: 0.5pt">Diluted earnings per share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.40</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.47</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.28</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.62</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in">&#160;</p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Three Months Ended</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">4/1/23</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">7/1/23</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">9/30/23</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">12/31/23</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-weight: normal; text-align: left">Net Sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">149,453</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">142,804</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">120,893</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">130,617</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">38,486</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">38,148</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24,728</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">32,257</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">14,350</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,185</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,431</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,249</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.81</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.91</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.42</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.58</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Diluted earnings per share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.81</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.91</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.42</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.58</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 270<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/270/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573760853216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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_RelatedPartyTransactionsAbstract', window );"><strong>Related Party Transactions [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">Related Party Transactions</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>19. Related Party Transactions </b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">From time to time, the Company contracts with
the National Rifle Association (&#8220;NRA&#8221;) for some of its promotional and advertising activities. The Company paid the NRA $0.5
million, $0.5 million and $0.7 million in 2024, 2023, and 2022, respectively. One of the Company&#8217;s Directors also serves as a Director
on the Board of the NRA.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is a member of the National Shooting
Sports Foundation (&#8220;NSSF&#8221;), the firearm industry trade association. <span style="font-family: Times New Roman, Times, Serif">The
Company paid the NSSF $0.4 million, $0.3 million and $0.3 million in 2024, 2023, and 2022, respectively. </span>One of the Company&#8217;s
Directors also serves on the Board of the NSSF.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(e))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/850/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-6<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573760673408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Contingent Liabilities<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyAbstract', window );"><strong>Contingent Liabilities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LegalMattersAndContingenciesTextBlock', window );">Contingent Liabilities</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>20. Contingent Liabilities </b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">As
of December 31, 2024, the Company was a defendant in eight (8) lawsuits and is aware of cert</span>ain other such claims. The lawsuits
generally fall into four (4) categories: municipal litigation, breach of contract, unfair trade practices, and trademark litigation. Each
is discussed in turn below.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Municipal Litigation</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Municipal litigation generally includes those
cases brought by cities or other governmental entities against firearms manufacturers, distributors and retailers seeking to recover damages
allegedly arising out of the criminal misuse of firearms by third parties. There are four (4) lawsuits of this type, as follows.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In <i>City of Gary v. Smith &amp; Wesson Corp.,
et al</i>, filed in Indiana State Court in 1999, the City of Gary, Indiana seeks damages, among other things, for the costs of medical
care, police and emergency services, public health services, and other services as well as punitive damages. In addition, nuisance abatement
and/or injunctive relief is sought to change the design, manufacture, marketing and distribution practices of the various Defendants.
The Complaint alleges, among other claims, negligence in the design of products, public nuisance, negligent distribution and marketing,
negligence per se and deceptive advertising. The case does not allege a specific injury to a specific individual as a result of the misuse
or use of any of the Company's products. After a long procedural history, during the quarter ended April 3, 2021, the City initiated discovery
and the manufacturer Defendants reciprocated.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On March 15, 2024, Indiana Governor Eric Holcomb
signed into law HB 1235, which reserves to the State of Indiana the right to bring an action on behalf of a political subdivision against
a firearm or ammunition manufacturer, trade association, seller, or dealer, concerning certain matters. The new law also prohibits a political
subdivision from bringing or maintaining such an action. Following passage of this new law, the Company and other Defendants filed a Motion
for Judgment on the Pleadings on March 18, 2024. On August 12, 2024, the Court denied Defendants&#8217; motion. The Court granted Defendants&#8217;
subsequent request to certify the Order for appeal. On October 2, 2024, Defendants filed a motion with the Indiana Court of Appeals to
accept jurisdiction over the interlocutory appeal, which was granted over Plaintiff&#8217;s objection on November 1, 2024. On October
16, 2024, the trial court entered an Order staying all proceedings pending the interlocutory appeal. Briefing of the appeal is underway.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Estados Unidos Mexicanos v. Smith &amp; Wesson
Brands, Inc., et al.</i> was filed by the Country of Mexico and names seven Defendants, mostly U.S.-based firearms manufacturers, including
the Company. The Complaint advances a variety of legal theories including negligence, public nuisance, unjust enrichment, restitution,
and others. Plaintiff essentially alleges that Defendants design, manufacture, distribute, market and sell firearms in a way that they
know results in the illegal trafficking of firearms into Mexico, where they are used by Mexican drug cartels for criminal activities.
Plaintiff seeks injunctive relief and monetary damages.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On November 22, 2021, Defendants jointly filed
a motion to dismiss the Complaint, which was granted on September 30, 2022. Several defendants, including the Company, also filed Rule
12(b)(2) motions to dismiss for lack of personal jurisdiction, which the Court declined to rule on in light of its dismissal. Plaintiffs
appealed the dismissal to the First Circuit Court of Appeals and, on January 22, 2024, the Court of Appeals reversed the District Court&#8217;s
dismissal and remanded the case for further proceedings. The Defendants filed a Petition for Writ of </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Certiorari seeking review by the
United States Supreme Court while the case moved forward at the District Court.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On June 17, 2024, the District Court heard argument
on the pending Rule 12(b)(2) motions to dismiss. On August 7, 2024, the Court granted the motions, dismissing the Company and some of
the other Defendants from the case, but has not yet entered judgement in favor of these Defendants. Because judgment has not entered in
favor of the Company, the 30-day period in which Plaintiff may appeal the Court&#8217;s August 7, 2024 ruling has not yet begun to run.
Subsequently, the Supreme Court granted the Defendants&#8217; Petition for Writ of Certiorari. Oral argument at the Supreme Court is scheduled
for March 4, 2025.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On December 20, 2022, the City of Buffalo, New
York filed a lawsuit captioned <i>The City of Buffalo v. Smith &amp; Wesson Brands, Inc., et al.</i> in the New York State Supreme Court
for Erie County, New York. The suit names a number of firearm manufacturers, distributors, and retailers as Defendants, including the
Company, and purports to state causes of action for violations of Sections 898, 349 and 350 of the New York General Business Law, as well
as common law public nuisance. Generally, Plaintiff alleges that the criminal misuse of firearms in the City of Buffalo is the result
of the manufacturing, sales, marketing, and distribution practices of the Defendants. The Defendants timely removed the matter to the
U.S. District Court for the Western District of New York.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On December 21, 2022, the City of Rochester, New
York filed a lawsuit captioned <i>The City of Rochester v. Smith &amp; Wesson Brands, Inc., et al. </i>in the New York State Supreme Court
for Monroe County, New York. The suit names the same defendants and makes essentially the same allegations raised in <i>Buffalo</i>, discussed
in the preceding paragraph. Defendants timely removed the matter to the U.S. District Court for the Western District of New York.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Defendants moved to consolidate the <i>Buffalo</i>
and <i>Rochester</i> cases for pretrial purposes only and also moved to stay the cases pending a decision by the Second Circuit Court
of Appeals in <i>National Shooting Sports Foundation, Inc. et al. v. James</i>, which challenges the constitutionality of the recently
enacted N.Y. GEN. BUS. LAW &#167;&#167; 898-a&#8211;e. On June 8, 2023, the Court granted Defendants&#8217; motions and the cases were
consolidated for pretrial purposes and stayed.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Breach of Contract</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company is a defendant in <i>Jones v. Sturm,
Ruger &amp; Co.,</i> a purported class action lawsuit arising out of a data breach at Freestyle Solutions, Inc., the vendor who was hosting
the Company&#8217;s ShopRuger.com website at the time of the breach. On January 20, 2023, five Plaintiffs filed an Amended Complaint naming
the Company and Freestyle Solutions, Inc. as Defendants. The Complaint alleged causes of action for negligence, breach of implied warranties,
and unjust enrichment.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company moved to dismiss the Amended Complaint,
and on March 27, 2024, the Court dismissed Plaintiffs&#8217; negligence and unjust enrichment claims against the Company. The Court denied
the motion with respect to Plaintiffs&#8217; breach of contract claim, concluding that development </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">of additional information is required
to assess the applicability of the limitation of liability clause contained in the Company&#8217;s terms and conditions of use. The case
is proceeding accordingly.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Unfair Trade Practices</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Estate of Suzanne Fountain v. Sturm, Ruger
&amp; Co., Inc.,</i> was filed in Connecticut Superior Court and arises out of the criminal shooting at the King Soopers supermarket in
Boulder, Colorado on March 22, 2021. On that date, Plaintiff&#8217;s decedent, Suzanne Fountain, was murdered by 21-year-old <span style="background-color: white">Ahmad
Al Aliwi Al-Issa. The Complaint alleged that the Company&#8217;s advertising and marketing of the Ruger AR-556 pistol violate the Connecticut
Unfair Trade Practices Act and were a substantial factor in bringing about the wrongful death of Suzanne Fountain. </span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><i>Estate of Neven Stanisic et al. v. Sturm, Ruger
&amp; Co., Inc.,</i> was filed in Connecticut Superior Court on behalf of five Plaintiffs. Like <i>Estate of Suzanne Fountain</i>, the
claims arise from the criminal shooting at the King Soopers supermarket in Boulder, Colorado on March 22, 2021. Plaintiffs&#8217; decedents
were murdered by <span style="background-color: white">Ahmad Al Aliwi Al-Issa and Plaintiffs alleged that the Company&#8217;s advertising
and marketing of the Ruger AR-556 pistol violate the Connecticut Unfair Trade Practices Act and were a substantial factor in causing the
wrongful death of Plaintiffs&#8217; decedents.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The <i>Fountain</i>
and <i>Stanisic</i> cases were consolidated for discovery purposes only and transferred by the Court to the Complex Litigation Docket.
Plaintiffs then sought leave to file an Amended Complaint, essentially abandoning their negligent marketing allegations and advancing
a new theory predicated upon alleged violations of the Gun Control Act and National Firearms Act. Over the Company&#8217;s objections,
Plaintiffs were permitted to file the Amended Complaint. </span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The matter
was timely removed to the U.S. District Court for the District of Connecticut based upon the new allegations and federal question jurisdiction.
Plaintiffs moved to remand the case to state court and, following briefing and oral argument, the matter was remanded on April 25, 2024.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On June 12, 2024, Ruger filed Motions to Dismiss
the Connecticut state court cases based upon the doctrine of <i>forum non conveniens</i>. Following oral argument on September 9, 2024,
the Court allowed Plaintiffs limited, additional discovery and requested further briefing on the matter. The briefing has been completed
and the parties are awaiting a decision from the Court.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white"><span style="text-decoration:underline">Trademark
Litigation</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">On March
12, 2024,</span> the Company was named as a defendant in <i>FN Herstal, et al. v. Sturm, Ruger &amp; Company, Inc.</i>, which is pending
in the U.S. District Court for the Middle District of North Carolina. T<span style="background-color: white">he Complaint alleges that
the Company&#8217;s use of the initialism &#8220;SFAR&#8221; in connection with the marketing of its Small Frame Autoloading Rifle infringes
the Plaintiffs&#8217; SCAR trademark. The Complaint alleges violations of the Lanham Act and the North Carolina Unfair and Deceptive Trade
Practices Act, as well as trademark infringement under North Carolina common law. The Company believes that the allegations are meritless
and is defending the action accordingly.</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Summary of Claimed Damages and Explanation
of Product Liability Accruals</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Punitive damages, as well as compensatory damages,
are demanded in certain of the lawsuits and claims. In many instances, the plaintiff does not seek a specified amount of money, though
aggregate amounts ultimately sought may exceed product liability accruals and applicable insurance coverage.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For product liability claims made between July
10, 2000 and August 31, 2024, insurance coverage was provided on an annual basis for losses exceeding $5 million per claim, with an aggregate
maximum loss of $10 million annually, except for certain claims brought by governments or municipalities, which are excluded from coverage.
Insurance coverage was not renewed with incumbent carriers effective September 1, 2024. Rather, the Company established a wholly-owned
captive insurance company for claims made on or after September 1, 2024.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Company management monitors the status of known
claims and the product liability accrual, which includes amounts for asserted and unasserted claims. While it is not possible to forecast
the outcome of litigation or the timing of costs, in the opinion of management, after consultation with special and corporate counsel,
it is not probable and is unlikely that litigation, including punitive damage claims, will have a material adverse effect on the financial
position of the Company, but may have a material impact on the Company&#8217;s financial results for a particular period.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Product liability claim payments are made when
appropriate if, as, and when claimants and the Company reach agreement upon an amount to finally resolve all claims. Legal costs are paid
as the lawsuits and claims develop, the timing of which may vary greatly from case to case. A time schedule cannot be determined in advance
with any reliability concerning when payments will be made in any given case.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Provision is made for product liability claims
based upon many factors related to the severity of the alleged injury and potential liability exposure, based upon prior claim experience.
Because the Company's experience in defending these lawsuits and claims is that unfavorable outcomes are typically not probable or estimable,
only in rare cases is an accrual established for such costs.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In most cases, an accrual is established only
for estimated legal defense costs. Product liability accruals are periodically reviewed to reflect then-current estimates of possible
liabilities and expenses incurred to date and reasonably anticipated in the future. Threatened product liability claims are reflected
in the Company's product liability accrual on the same basis as actual claims; <i>i.e.</i>, an accrual is made for reasonably anticipated
possible liability and claims handling expenses on an ongoing basis.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Often, a Complaint does not specify the amount
of damages being sought and range of reasonably possible losses relating to unfavorable outcomes cannot be made. The dollar amount of
damages claimed at December 31, 2024, December 31, 2023, and December 31, 2022 was <i>de minimis</i>. The amount claimed at December 31,
2021 was $1.1 million and is set forth as an indication of possible maximum liability the Company might be required to incur in these
cases (regardless </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">of the likelihood or reasonable probability of any or all of this amount being awarded to claimants) as a result of
adverse judgments that are sustained on appeal.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2024, one (1) trademark lawsuit was filed
against the Company, one (1) negligence lawsuit was resolved, and one (1) traditional product liability lawsuit was resolved. One (1)
municipal lawsuit was dismissed, however the time period in which to file an appeal has been stayed by the Court and the Company considers
this matter still open. As of December 31, 2024, the Company was a defendant in eight (8) lawsuits involving its products, including four
(4) municipal lawsuits, two (2) lawsuits based upon unfair trade practices, one (1) breach of contract, and one (1) trademark litigation.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2023, one (1) traditional product liability
lawsuit was filed against the Company and one (1) was resolved. As of December 31, 2023, the Company was a defendant in seven (7) lawsuits
involving its products, including one (1) traditional product liability lawsuit, four (4) municipal lawsuits and two (2) lawsuits based
upon alleged unfair trade practices. The Company was also a defendant in two (2) negligence lawsuits.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During 2022, no traditional product liability
lawsuits were filed against the Company and one (1) was resolved. As of December 31, 2022, the Company was a defendant five lawsuits involving
its products, including one (1) traditional product liability lawsuit and four (4) municipal lawsuits. The Company also was a defendant
in three (3) negligence lawsuits though, as discussed above, that number has since been reduced to two (2) lawsuits with the consolidation
of the <i>Jones</i> and <i>Copeland</i> matters.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s product liability expense
was $0.7 million in 2024, $1.5 million in 2023, $1.3 million in 2022. This expense includes the cost of outside legal fees, and other
expenses incurred in the management and defense of product liability matters.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">A roll-forward of the product liability reserve and detail of product
liability expense for the three years ended December 31, 2024 follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Balance Sheet Roll-forward for Product Liability
Reserve</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">Cash Payments</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"><span style="font-family: Times New Roman, Times, Serif">Balance <br/>
Beginning <br/>
of Year (a<b>)</b></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Accrued<br/>
 Legal<br/>
 Expense<br/>
 (Income) <br/>
(b)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Legal Fees <br/>
(c)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Settlements <br/>
(d)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Balance <br/>
End of <br/>
Year (a)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; text-align: justify">2022</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">892</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(417</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(167</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-47">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">308</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">308</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(129</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-48">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">679</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2024</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">679</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">67</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(254</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-49">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">492</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income Statement Detail for Product Liability
Expense</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Accrued <br/>
Legal<br/>
 Expense<br/>
 (b)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Insurance <br/>
Premium <br/>
Expense <br/>
(e)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Total <br/>
Product<br/>
 Liability <br/>
Expense</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">2022</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(417</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,524</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">1,107</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,226</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,726</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2024</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">67</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">908</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">975</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Notes</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(a)</td><td style="text-align: justify">The beginning and ending liability balances represent accrued legal fees only. Settlements and administrative
costs are expensed as incurred. Only in rare instances is an accrual established for settlements.</td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(b)</td><td style="text-align: justify">The expense accrued in the liability is for legal fees only. In 2022, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.</td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(c)</td><td style="text-align: justify">Legal fees represent payments to outside counsel related to product liability matters.</td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(d)</td><td style="text-align: justify">Settlements represent payments made to plaintiffs or allegedly injured parties in exchange for a full
and complete release of liability.</td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(e)</td><td style="text-align: justify">Insurance expense represents the cost of insurance premiums.</td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">There were no insurance recoveries during any
of the above years.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LegalMattersAndContingenciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies.</p></div>
<a href="javascript: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 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/450/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_LegalMattersAndContingenciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_LossContingencyAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573865869360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Instruments<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentDetailAbstract', window );"><strong>Financial Instruments [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_FinancialInstrumentsDisclosureTextBlock', window );">Financial Instruments</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b>21. Financial Instruments</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company does not hold or issue financial instruments
for trading or hedging purposes, nor does it hold interest rate, leveraged, or other types of derivative financial instruments. Fair values
of accounts receivable, accounts payable, accrued expenses and income taxes payable reflected in the December 31, 2024 and 2023 balance
sheets approximate carrying values at those dates.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentDetailAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentDetailAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 financial instruments. This disclosure includes, but is not limited to, fair value measurements of short and long term marketable securities, international currencies forward contracts, and auction rate securities. Financial instruments may include hedging and non-hedging currency exchange instruments, derivatives, securitizations and securities available for sale at fair value. Also included are investment results, realized and unrealized gains and losses as well as impairments and risk management disclosures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573764639152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">SUBSEQUENT EVENTS</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>22. Subsequent Events</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On February 14, 2025, the Company&#8217;s Board
of Directors authorized a dividend of 24&#162; per share to shareholders of record on March 14, 2025.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On January 17, 2025, the Company announced the
appointment of Mr. Todd W. Seyfert as its next President &amp; Chief Executive Officer, effective March 1, 2025. Mr. Christopher J. Killoy
will step down as President &amp; Chief Executive Officer on that date and then serve as a Special Advisor through his planned retirement
from the Company in May 2025.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Mr. Kevin B. Reid, Sr. will step down as Vice
President, General Counsel, and Corporate Secretary on June 30, 2025 and then serve as Senior Counsel to the Company until his planned
retirement from the Company on June 30, 2026.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s management has evaluated transactions
occurring subsequent to December 31, 2024 and determined that there were no other events or transactions during that period that would
have a material impact on the Company&#8217;s results of operations or financial position.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573758181248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Sep. 28, 2024</div></th>
<th class="th"><div>Jun. 29, 2024</div></th>
<th class="th"><div>Mar. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jul. 01, 2023</div></th>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="nump">$ 10,477<span></span>
</td>
<td class="nump">$ 4,738<span></span>
</td>
<td class="nump">$ 8,264<span></span>
</td>
<td class="nump">$ 7,084<span></span>
</td>
<td class="nump">$ 10,249<span></span>
</td>
<td class="nump">$ 7,431<span></span>
</td>
<td class="nump">$ 16,185<span></span>
</td>
<td class="nump">$ 14,350<span></span>
</td>
<td class="nump">$ 30,563<span></span>
</td>
<td class="nump">$ 48,215<span></span>
</td>
<td class="nump">$ 88,332<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759335248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr><th class="th" colspan="2">
<div>Dec. 31, 2024 </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_MtrlTermsOfTrdArrTextBlock', window );">Material Terms of Trading Arrangement</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Rule 10b5-1 Trading Plans</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">The adoption or termination
of contracts, instructions or written plans for the purchase and sale of the Company&#8217;s securities by the Company&#8217;s Section
16 officers or directors for the three months ended December 31, 2024, each of which is intended to satisfy the affirmative defense conditions
of Rule 10b5-1(c) under the Exchange Act (&#8220;Rule 10b5-1 Plan&#8221;), were as follows:</p><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;"> <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"> <td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt">Name</td> <td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 20%; padding-right: 5.4pt; padding-left: 5.4pt">Title</td> <td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt">Action</td> <td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">Date <br/>
Adopted</td> <td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">Expiration <br/>
Date</td> <td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 20%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">Aggregate # of <br/>
Securities to be <br/>
Purchased/Sold</td></tr> <tr style="vertical-align: top; background-color: rgb(204,238,255)"> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">John A. Cosentino, Jr. (1)</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">Director</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt">Adoption of Rule 10b5-1 Plan</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">November 14, 2024</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">November 14, 2025</td> <td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center">5,000</td></tr> </table><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><span style="font-family: Times New Roman, Times, Serif">(1)</span></td><td>John A. Cosentino, Jr., a director of the Company, entered into a Rule 10b5-1 Plan on November 14, 2024. Mr. Cosentino&#8217;s Rule
10b5-1 Plan provides for the potential sale of up to 5,000 shares of the Company&#8217;s common stock. The Rule 10b5-1 Plan expires on
November 14, 2025, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.</td></tr></table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in">None of the Company&#8217;s directors or Section 16 officers
adopted or terminated a &#8220;non-Rule 10b5-1 trading arrangement&#8221; as defined in Item 408 of Regulation S-K during the three months
ended December 31, 2024.</p><span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_IndividualAxis=rgr_JohnACosentinoJrMember', window );">John A. Cosentino, Jr [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndName', window );">Name</a></td>
<td class="text">John A. Cosentino, Jr.<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrIndTitle', window );">Title</a></td>
<td class="text">Director<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">true<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrAdoptionDate', window );">Adoption Date</a></td>
<td class="text">November 14, 2024<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrExpirationDate', window );">Expiration Date</a></td>
<td class="text">November 14, 2025<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TrdArrSecuritiesAggAvailAmt', window );">Aggregate Available</a></td>
<td class="nump">5,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">John A. Cosentino, Jr., a director of the Company, entered into a Rule 10b5-1 Plan on November 14, 2024. Mr. Cosentino&#8217;s Rule
10b5-1 Plan provides for the potential sale of up to 5,000 shares of the Company&#8217;s common stock. The Rule 10b5-1 Plan expires on
November 14, 2025, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_MtrlTermsOfTrdArrTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_MtrlTermsOfTrdArrTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrAdoptionDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph 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;">ecd_TrdArrAdoptionDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrExpirationDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph C<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrExpirationDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrIndName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrIndName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrIndTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrIndTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TrdArrSecuritiesAggAvailAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TrdArrSecuritiesAggAvailAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli: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_ecd_IndividualAxis=rgr_JohnACosentinoJrMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_IndividualAxis=rgr_JohnACosentinoJrMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>47
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573947425488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cybersecurity Risk Management and Strategy Disclosure<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems', window );"><strong>Cybersecurity Risk Management, Strategy, and Governance [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock', window );">Cybersecurity Risk Management Processes for Assessing, Identifying, and Managing Threats [Text Block]</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><b>Risk management and
strategy</b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The Company
has processes for assessing, identifying, and managing material risks from cybersecurity threats. These processes are integrated into
the Company&#8217;s overall risk management systems, as overseen by the Company&#8217;s Board of Directors, primarily through its Risk
Oversight Committee. These processes also include overseeing and identifying risks from cybersecurity threats associated with the use
of third-party service providers. The Company conducts security assessments of certain third-party providers before engagement and has
established monitoring procedures in its effort to mitigate risks related to data breaches or other security incidents originating from
third parties. The Company from time to time engages third-party consultants, legal advisors, and audit firms in evaluating and testing
the Company&#8217;s risk management systems and assessing and remediating certain potential cybersecurity incidents as appropriate. </span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The Company
has an Information Security Program (&#8220;Program&#8221;) to protect personal and proprietary information in compliance with applicable
federal and state requirements. The Program is designed to:</span></p><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify"><span style="background-color: white">Ensure the security and confidentiality of employee and customer
personal information and Company proprietary information;</span></td></tr></table><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify"><span style="background-color: white">Protect against anticipated threats or hazards to the security or
integrity of such information; and</span></td></tr></table><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><span>&#9679;</span></td><td style="text-align: justify"><span style="background-color: white">Protect against unauthorized access to, use of, or transfer of such
information in a manner that could harm or inconvenience the Company, employees or customers.</span></td></tr></table><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">For more
information about these risks, see the risk factor titled &#8220;The Company relies on its information and communications systems in its
operations. Security breaches and other disruptions could adversely affect its business and results of operations&#8221; under Item 1A.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock', window );">Cybersecurity Risk Management Processes Integrated [Text Block]</a></td>
<td class="text">These processes are integrated into
the Company&#8217;s overall risk management systems, as overseen by the Company&#8217;s Board of Directors, primarily through its Risk
Oversight Committee.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskManagementProcessesIntegratedFlag', window );">Cybersecurity Risk Management Processes Integrated [Flag]</a></td>
<td class="text">true<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskManagementThirdPartyEngagedFlag', window );">Cybersecurity Risk Management Third Party Engaged [Flag]</a></td>
<td class="text">true<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock', window );">Cybersecurity Risk Board of Directors Oversight [Text Block]</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><b>Governance </b></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">The Company&#8217;s Board
of Directors has assigned oversight of cybersecurity risk management to the Risk Oversight Committee. The Risk Oversight Committee regularly
receives reports from management, including senior information technology (&#8220;IT&#8221;) leadership, and third parties on cybersecurity
matters. In addition, the Company&#8217;s full Board of Directors receives reports addressing cybersecurity as part of the Company&#8217;s
overall enterprise risk management program and to the extent cybersecurity matters are addressed in regular business updates.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">Senior IT leaders are
responsible for developing appropriate cybersecurity programs, including as may be required by applicable law or regulation. These individuals&#8217;
expertise in IT and cybersecurity generally has been gained from a combination of education, including relevant degrees and/or certifications,
and work experience. They are informed by their respective cybersecurity teams about, and monitor, the prevention, detection, mitigation
and remediation of cybersecurity incidents as part of the cybersecurity programs described above.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">Information regarding
cybersecurity risks may be elevated by IT leadership through a variety of channels, including discussions between or among key leaders
and Company management and reports to the Company&#8217;s Board of Directors and/or certain Board committees.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock', window );">Cybersecurity Risk Board Committee or Subcommittee Responsible for Oversight [Text Block]</a></td>
<td class="text">The Company&#8217;s Board
of Directors has assigned oversight of cybersecurity risk management to the Risk Oversight Committee.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock', window );">Cybersecurity Risk Process for Informing Board Committee or Subcommittee Responsible for Oversight [Text Block]</a></td>
<td class="text">The Risk Oversight Committee regularly
receives reports from management, including senior information technology (&#8220;IT&#8221;) leadership, and third parties on cybersecurity
matters.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock', window );">Cybersecurity Risk Management Expertise of Management Responsible [Text Block]</a></td>
<td class="text">These individuals&#8217;
expertise in IT and cybersecurity generally has been gained from a combination of education, including relevant degrees and/or certifications,
and work experience.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock', window );">Cybersecurity Risk Process for Informing Management or Committees Responsible [Text Block]</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">Information regarding
cybersecurity risks may be elevated by IT leadership through a variety of channels, including discussions between or among key leaders
and Company management and reports to the Company&#8217;s Board of Directors and/or certain Board committees.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag', window );">Cybersecurity Risk Management Positions or Committees Responsible Report to Board [Flag]</a></td>
<td class="text">true<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br> -Subsection c<br> -Paragraph 1<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection c<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br> -Subsection c<br> -Paragraph 1<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection c<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br> -Subsection c<br> -Paragraph 2<br> -Subparagraph i<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection c<br> -Paragraph 2<br> -Subparagraph i<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br> -Subsection c<br> -Paragraph 2<br> -Subparagraph iii<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection c<br> -Paragraph 2<br> -Subparagraph iii<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>i:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br> -Subsection b<br> -Paragraph 1<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection b<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskManagementProcessesIntegratedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br> -Subsection b<br> -Paragraph 1<br> -Subparagraph i<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection b<br> -Paragraph 1<br> -Subparagraph i<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskManagementProcessesIntegratedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>i:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br> -Subsection b<br> -Paragraph 1<br> -Subparagraph i<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection b<br> -Paragraph 1<br> -Subparagraph i<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>i:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskManagementThirdPartyEngagedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br> -Subsection b<br> -Paragraph 1<br> -Subparagraph ii<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection b<br> -Paragraph 1<br> -Subparagraph ii<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskManagementThirdPartyEngagedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>i:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br> -Subsection c<br> -Paragraph 1<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection c<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Section 106<br> -Subsection c<br> -Paragraph 2<br> -Subparagraph ii<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection c<br> -Paragraph 2<br> -Subparagraph ii<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759322592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting Policies, by Policy (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Significant Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_OrganizationPolicyTextBlock', window );">Organization</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Organization</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Sturm, Ruger &amp; Company, Inc. (the &#8220;Company&#8221;)
is principally engaged in the design, manufacture, and sale of firearms to domestic customers. Approximately 99% of sales were from firearms.
Export sales represented approximately 5% of firearms sales. The Company&#8217;s design and manufacturing operations are located in the
United States and almost all product content is domestic. The Company&#8217;s firearms are sold through a select number of independent
wholesale distributors principally to the commercial sporting market.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company manufactures investment castings made
from steel alloys and metal injection molding (&#8220;MIM&#8221;) parts for internal use in its firearms and utilizes available capacity
to manufacture and sell investment castings and MIM parts to unaffiliated, third-party customers. Castings were less than 1% of the Company&#8217;s
total sales for the year ended December 31, 2024.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_PreparationOfFinancialStatementsPolicyTextBlock', window );">Preparation of Financial Statements</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Preparation
of Financial Statements</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company follows United States generally accepted
accounting principles (&#8220;GAAP&#8221;). The preparation of financial statements in conformity with GAAP requires management to make
estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent liabilities at the date
of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ
from these estimates.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The significant accounting policies described
below, together with the notes that follow, are an integral part of the consolidated financial statements.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Principles
of Consolidation</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The consolidated financial statements include
the accounts of the Company and its wholly owned subsidiaries. All significant intercompany accounts and transactions have been eliminated.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Revenue Recognition</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company recognizes revenue in accordance with
the provisions of Accounting Standards Codification Topic 606, Revenue from Contracts with Customers (&#8220;ASC 606&#8221;), which became
effective January 1, 2018. Substantially all product sales are sold FOB (free on board) shipping point. Customary payment terms are 2%
30 days, net 40 days. Generally, all performance obligations are satisfied when product is shipped and the customer takes ownership and
assumes the risk of loss. In some instances, sales include multiple performance obligations. The most common of these instances relates
to sales promotion programs under which downstream customers are entitled to receive no charge products based on their purchases of certain
of the Company&#8217;s products from the independent distributors. The fulfillment of these no charge products </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">is the Company&#8217;s
responsibility. In such instances, the Company allocates the revenue of the promotional sales based on the estimated level of participation
in the sales promotional program and the timing of the shipment of all of the firearms included in the promotional program, including
the no charge firearms. Revenue is recognized proportionally as each performance obligation is satisfied, based on the relative customary
price of each product. Customary prices are generally determined based on the prices charged to the independent distributors. The net
change in contract liabilities for a given period is reported as an increase or decrease to sales. The Company accounts for cash sales
discounts as a reduction in sales. Amounts billed to customers for shipping and handling fees are included in net sales and costs incurred
by the Company for the delivery of goods are classified as selling expenses. Federal excise taxes are excluded from net sales.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Cash and
Cash Equivalents</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company considers interest-bearing deposits
with financial institutions with remaining maturities of three months or less at the time of acquisition to be cash equivalents.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock', window );">Fair Value Measurements of Short-term Investments</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Fair Value
Measurements of Short-term Investments</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Fair value is defined as the price that would
be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants in the principal or
most advantageous market at the measurement date. Fair value is established according to a hierarchy that prioritizes observable and unobservable
inputs used to measure fair value into three broad levels, which are described below:</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 1: Unadjusted quoted prices in
active markets that are accessible at the measurement date for assets or liabilities. The fair value hierarchy gives the highest priority
to Level 1 inputs.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 2: Observable prices that are
based on inputs not quoted on active markets, but corroborated by market data.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify">Level 3: Unobservable inputs are used
when little or no market data is available. Level 3 inputs are given the lowest priority in the fair value hierarchy.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The asset or liability&#8217;s fair value measurement
level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation
techniques used need to maximize the use of observable inputs and minimize the use of unobservable inputs.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif">As
of December 31, 2024, the Company&#8217;s short-term investments consist of U.S. Treasury instruments (Level 1), maturing within one year,
and </span>investments in a bank-managed money market fund that invests exclusively in United States Treasury obligations and is valued
at the net asset value ("NAV") daily closing price, as reported by the fund, based on the amortized cost of the fund&#8217;s
securities (Level 2)<span style="font-family: Times New Roman, Times, Serif">. For the bank-managed money market fund, t</span>he NAV
is used as a practical expedient to estimate fair value. This practical expedient is not used when it is determined to be probable that
the fund will sell the investment for an amount different than the reported NAV<span style="font-family: Times New Roman, Times, Serif">.
Such securities are classified as held to maturity, since the Company has the intent and ability to do so, and are carried at cost plus
accrued interest, which approximates fair value.</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The fair value of inventory acquired as part of
business combination is based on a third-party valuation utilizing the comparable sales method which is based on Level 2 and Level 3 inputs.
The fair value of property, plant and equipment acquired as part of business combination is based on a third-party valuation utilizing
the indirect method of cost approach, which is based on Level 2 and Level 3 inputs. The fair value of patents acquired as part of business
combination is based on a third-party valuation utilizing the replacement cost method, which is based on Level 2 and Level 3 inputs. The
fair value of the remaining intangible assets as part of business combination are based on a third-party valuation utilizing discounted
cash flow methods that involves inputs, which are not observable in the market (Level 3).</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts Receivable</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Accounts Receivable</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company establishes an allowance for doubtful
accounts based on the creditworthiness of its customers and historical experience. While the Company uses the best information available
to make its evaluation, future adjustments to the allowance for doubtful accounts may be necessary if there are significant changes in
economic and industry conditions or any other factors considered in the Company&#8217;s evaluation. Bad debt expense has been immaterial
during each of the last three years. The Company mitigates its credit risk by maintaining credit insurance on most of its significant
customers.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Inventories</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Substantially all of the Company&#8217;s inventories
are valued at the lower of cost, principally determined by the last-in, first-out (LIFO) method, or net realizable value. Elements of
cost in inventories include raw materials, direct labor and manufacturing overhead.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Property,
Plant and Equipment</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Property, plant and equipment are carried at cost.
Depreciation is computed over useful lives using the straight-line and declining balance methods predominately over 15 years for buildings,
7 years for machinery and equipment and 3 years for tools and dies. When assets are retired, sold or otherwise disposed of, their gross
carrying values and related accumulated depreciation are removed from the accounts and a gain or loss on such disposals is recognized
when appropriate.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Maintenance and repairs are charged to operations;
replacements and improvements are capitalized.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Long-lived Assets</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Long-lived Assets</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company evaluates the carrying value of long-lived
assets to be held and used when events or changes in circumstances indicate the carrying value may not be recoverable. In performing this
review, the carrying value of the assets is compared to the projected undiscounted cash flows to be generated from the assets. If the
sum of the undiscounted expected future cash flows is less than the carrying value of the assets, the assets are considered to be impaired.
Impairment losses are measured as the amount by which the carrying value of the assets exceeds their fair value. The Company bases fair
value of the assets on quoted market prices if available or, if not available, quoted market prices of similar assets. Where quoted market
prices are not available, the Company </p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">estimates fair value using the estimated future cash flows generated by the assets discounted at
a rate commensurate with the risks associated with the recovery of the assets. As of December 31, 2024, the Company does not believe there
are any indications of impairment related to long-lived assets.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy', window );">Goodwill</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="text-decoration:underline">Goodwill</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s goodwill represents the excess
of the purchase price of business combinations over the fair value of the net assets acquired. We assess goodwill for impairment on an
annual basis during the fourth quarter of each year, and between annual tests whenever events or changes in circumstances indicate that
the carrying amount may not be recoverable. An impairment exists by the amount the fair value of a reporting unit to which goodwill has
been allocated is less than their respective carrying values. The impairment for goodwill is limited to the total amount of goodwill allocated
to the reporting unit. Goodwill impairment testing requires significant judgment and management estimates, including, but not limited
to, the determination of (i)&#160;the number of reporting units, (ii)&#160;the goodwill and other assets and liabilities to be allocated
to the reporting units and (iii)&#160;the fair values of the reporting units. The estimates and assumptions described above, along with
other factors such as discount rates, will significantly affect the outcome of the impairment tests and the amounts of any resulting impairment
losses. As of December 31, 2024, the Company does not believe there are any indications of impairment related to goodwill.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Income Taxes</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income taxes are accounted for using the asset
and liability method. Under this method, deferred income taxes are recognized for the tax consequences of &#8220;temporary differences&#8221;
by applying enacted statutory rates applicable to future years to temporary differences between the financial statement carrying amounts
and the tax basis of the Company&#8217;s assets and liabilities.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilityReserveEstimatePolicy', window );">Product Liability</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Product Liability</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company provides for product liability claims
including estimated legal costs to be incurred defending such claims. The provision for product liability claims is charged to cost of
products sold.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising Costs</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Advertising Costs</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company includes advertising costs in selling
expenses and these costs are expensed as incurred. Advertising costs for 2024, 2023, and 2022, were $3.4 million, $3.1 million, and $2.4
million, respectively.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ShippingCostPolicyPolicyTextBlock', window );">Shipping Costs</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal"><span style="text-decoration:underline">Shipping
Costs</span></span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Costs incurred related to the shipment of products
are included in selling expense. Such costs totaled $4.3 million, $4.4 million, and $4.7 million in 2024, 2023, and 2022, respectively.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpensePolicy', window );">Research and Development</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Research and Development</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, 2023, and 2022, the Company spent approximately
$8.2 million, $9.8 million, and $9.6 million, respectively, on research and development activities relating to new products and the improvement
of existing products. These costs are included in costs of products sold and are expensed as incurred. These costs are capitalized for
tax purposes under the provisions of the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174, as discussed in Note 13.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Earnings per Share</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Earnings per Share</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Basic earnings per share is based upon the weighted-average
number of shares of common stock outstanding during the year. Diluted earnings per share reflect the impact of restricted stock units
and deferred stock outstanding using the treasury stock method.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration:underline">Recent Accounting Pronouncements</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In November of 2023, the FASB issued ASU 2023-07,
&#8220;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#8221; The updated accounting guidance requires
enhanced reportable segment disclosures, primarily related to significant segment expenses which are regularly provided to the chief operating
decision maker. The guidance is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning
after December 15, 2024. The Company adopted ASU 2023-07, beginning with the current filing. The adoption of the new guidance required
additional disclosures, but did not have a material impact to the Company. Refer to Note 17, Operating Segment Information, for the updated
presentation.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In December of 2023, the FASB issued ASU 2023-09,
&#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#8221; The updated accounting guidance requires expanded income
tax disclosures, including the disaggregation of existing disclosures related to the effective tax rate reconciliation and income taxes
paid. The guidance is effective for fiscal years beginning after December 15, 2024. Prospective application is required, with retrospective
application permitted. The Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.</p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In November 2024, the FASB issued ASU No. 2024-03,
&#8220;Income Statement&#8212;Reporting Comprehensive Income&#8212;Expense Disaggregation Disclosures,&#8221; which requires additional
disclosure of certain costs and expenses within the notes to the financial statements. The updated standard is effective for annual reporting
periods beginning after December 15, 2026 and interim reporting periods within annual reporting periods beginning after December 15,
2027. The requirements will be applied prospectively with the option for retrospective application. Early adoption is permitted. The
Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_OrganizationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 organization.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_OrganizationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_rgr_PreparationOfFinancialStatementsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the preparation of financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_PreparationOfFinancialStatementsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_rgr_ShippingCostPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_ShippingCostPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr: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_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advertising cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 35<br> -Topic 720<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_GoodwillAndIntangibleAssetsGoodwillPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482338/360-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478411/912-330-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityReserveEstimatePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 estimating its liability as of the balance sheet date for the ultimate cost of settling reported and unreported claims incurred and claims adjustment expenses (including effects of inflation and other societal and economic factors).</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 40<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/944-40/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_LiabilityReserveEstimatePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/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_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483044/730-10-05-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-6<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481569/310-20-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-15<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-11B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573764109504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition and Contracts with Customers (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue Recognition and Contracts with Customers [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_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of Revenue Recognized</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The impact of ASC 60<span style="font-family: Times New Roman, Times, Serif">6
on revenue recognized during the years ended December 31, 2024, December 31, 2023, and</span> December 31, 2022 is as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">&#160;</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left; text-indent: -0.3in; padding-left: 0.3in">Contract liabilities with customers at January 1,</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">149</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">1,031</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-18">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 0pt">Revenue recognized</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(149</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(4,084</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-19">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Revenue deferred</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-20">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,202</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,031</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left; text-indent: -0.3in; padding-left: 0.3in">Contract liabilities with customers at December 31,</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-21">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">149</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">1,031</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573865853088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Trade Receivables, Net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetAbstract', window );"><strong>Trade Receivables, Net [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">Schedule of Trade Receivables</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Trade receivables consist of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Trade receivables</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">68,855</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">61,428</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Allowance for doubtful accounts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(400</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(400</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Allowance for discounts</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,310</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,164</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">67,145</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">59,864</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573948204208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventories [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventories</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Inventories consist of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap">December 31,</td><td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2024</td><td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2023</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal">&#160;</span></p><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-weight: normal">Inventory at FIFO</span></p></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left; padding-left: 21.8pt">Finished goods</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">26,022</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">30,989</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 21.8pt">Materials and products in process</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">123,395</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">119,203</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">149,417</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">150,192</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 21.8pt">Less:&#160;&#160;LIFO reserve</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(66,398</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(64,262</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 21.8pt">Less:&#160;&#160;excess and obsolescence reserve</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(6,533</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(6,120</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Net inventories</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">76,486</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">79,810</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765510096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property, Plant and Equipment</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Property, plant and equipment consist of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Land and improvements</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,826</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">2,826</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Buildings and improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">76,153</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">74,650</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Machinery and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">333,365</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">322,730</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Dies and tools</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">65,278</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">62,191</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Property, plant and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">477,622</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">462,397</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-align: left">Less allowances for depreciation</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(406,373</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(390,863</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Net property, plant and equipment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">71,249</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">71,534</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765513824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsAbstract', window );"><strong>Other Assets [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_ScheduleOfOtherAssetsTableTextBlock', window );">Schedule of Other Assets</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other assets consist of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 74%; text-align: left">Patents, at cost</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,339</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,280</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deposits on capital items</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,443</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">23,045</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Marlin trade name, at cost</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,800</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,800</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Accumulated amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(8,008</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(7,171</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">9,173</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">9,958</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">37,747</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">43,912</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfOtherAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amounts of other assets. This disclosure includes other current assets and other noncurrent assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfOtherAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765539056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leased Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leased Assets [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_LeaseCostTableTextBlock', window );">Schedule of Right-of-Use Assets and Related Lease Liabilities</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company uses the effective interest method
to record right-of-use assets equal to the present value of the contractual liability for future lease payments. The table below presents
the right-of-use assets and related lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2024:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"> <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">Balance Sheet Line<br/> Item</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td> <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">December 31,<br/> 2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td> <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">December 31,<br/> 2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: right">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 49%; text-align: left">Right-of-use assets</td><td style="width: 1%">&#160;</td> <td style="width: 20%; text-align: center">Other assets</td><td style="width: 1%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">2,345</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">2,781</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: justify">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 0pt">Operating lease liabilities</td><td>&#160;</td> <td style="text-align: center">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="vertical-align: top; text-align: left; padding-left: 18.55pt">&#160;</td><td>&#160;</td> <td style="text-align: center; text-indent: 5.3pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="vertical-align: top; text-align: left; padding-left: 18.55pt">Current portion</td><td>&#160;</td> <td style="text-align: center; text-indent: 5.3pt">Trade accounts payable and accrued expenses</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">598</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">611</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="vertical-align: top; text-align: left; padding-left: 18.55pt">&#160;</td><td>&#160;</td> <td style="text-align: center; text-indent: 5.3pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-left: 18.55pt">Noncurrent portion</td><td>&#160;</td> <td style="text-align: center; text-indent: 5.3pt">Lease liabilities</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">1,747</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">2,170</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="border-bottom: Black 1pt solid; padding-left: 18.55pt">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="border-bottom: Black 2.5pt double; text-align: left">Total operating lease liabilities</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: right">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,345</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double">&#160;</td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,781</td><td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left">&#160;</td></tr> </table><table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"> <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"> <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; padding-left: 0pt; white-space: nowrap; text-indent: 0pt">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td> <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">Year Ended</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr> <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"> <td style="font: bold 8pt Times New Roman, Times, Serif; padding-left: 0pt; white-space: nowrap; border-bottom: Black 1pt solid; text-indent: 0pt">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td> <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">December 31,<br/> 2024</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td> <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">December 31,<br/> 2023</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr> <tr style="vertical-align: bottom"> <td style="padding-left: 0pt; white-space: nowrap; text-indent: 0pt">&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td> <td colspan="2" style="white-space: nowrap; text-align: center">&#160;</td><td>&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-indent: 0pt; width: 74%; text-align: left; padding-left: 0pt">Cash paid for amounts included in the measurement of lease liabilities </td><td style="width: 1%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">796</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td> <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">796</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: 0pt; text-align: left; padding-left: 0pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; text-indent: 0pt; padding-left: 0pt">Cash amounts paid for short-term leases</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">449</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right">565</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: 0pt; padding-left: 0pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-indent: 0pt; text-align: left; padding-left: 0pt">Right-of-use assets obtained in exchange for lease liabilities</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: hidden-fact-23">&#8212;</span></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: hidden-fact-24">&#8212;</span></td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: 0pt; padding-left: 0pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; text-indent: 0pt; padding-left: 0pt">Weighted average remaining lease term (years)</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">7.7</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">7.9</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-indent: 0pt; padding-left: 0pt">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td> <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="border-bottom: Black 1pt solid; text-indent: 0pt; padding-left: 0pt">Weighted average discount rate</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8.0%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td> <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">5.0%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr> </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Operating Lease Liabilities Future Minimum Lease Payments</a></td>
<td class="text"><p style="margin: 0pt 0; font: 10pt Times New Roman, Times, Serif">The following table reconciles the undiscounted future minimum lease
payments to the total operating lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2024:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 87%; text-align: left; padding-left: 30pt">2025</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">765</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">771</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">295</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">2028</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">2029</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">160</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 30pt; vertical-align: bottom">Thereafter</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">800</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-left: 30pt">Total undiscounted future minimum lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,951</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="vertical-align: bottom; text-align: left; padding-bottom: 1pt; text-indent: -22.5pt; padding-left: 53.25pt">Less: Difference between undiscounted lease payments &amp; the present value of future lease payments</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(606</td><td style="white-space: nowrap; padding-bottom: 1pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: left; padding-bottom: 2.5pt; padding-left: 30pt">Total operating lease liabilities</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,345</td><td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573760688608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Trade Accounts Payable and Accrued Expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract', window );"><strong>Trade Accounts Payable and Accrued Expenses [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_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock', window );">Schedule of Trade Accounts Payable and Accrued Expenses</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Trade accounts payable and accrued expenses consist
of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-weight: bold; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 74%; text-align: left">Trade accounts payable</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">13,170</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">11,100</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Federal excise taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13,192</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,954</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Accrued other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">9,388</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">8,654</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">35,750</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">31,708</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (a) carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business (accounts payable); (b) other payables; and (c) accrued liabilities. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). An alternative caption includes accrued expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765204736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Operating Income, Net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Other Operating Income, Net [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock', window );">Schedule of Other Operating Income, Net</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other operating income, net consists of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap">Year ended December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 61%">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-align: left">Gain on sale of operating assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-25">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">5</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">36</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information related to a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component.</p></div>
<a href="javascript: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 3<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483475/205-20-45-11<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-3A<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-4A<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-4B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-5A<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-5B<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-5C<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-5D<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<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 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-3A<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 205<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573763815008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes [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_FederalIncomeTaxNoteTextBlock', window );">Schedule of Federal and State Income Tax Provision</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The federal and state income tax provision consisted of the following:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap">Year ended December 31,</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">2024</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">2023</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">2022</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Current</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Deferred</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Current</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Deferred</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Current</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right">Deferred</td><td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 22%">Federal</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,310</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(4,190</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">14,763</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(5,285</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">21,741</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(4,694</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">State</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,607</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(515</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,713</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(582</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,779</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(879</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">11,917</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(4,705</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">16,476</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,867</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">25,520</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">(5,573</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">)</td></tr>
  </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Income Tax Rate Reconciliation</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The effective income tax rate varied from the statutory federal income
tax rate as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: left; text-indent: -13.75pt; padding-left: 13.75pt">Statutory federal income tax rate</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">21.0%</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -13.75pt; padding-left: 13.75pt">State income taxes, net of federal tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.5</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.2</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2.7</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Research and development tax credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(5.9</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(2.7</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(4.2</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1.1</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt">Effective income tax rate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">19.1%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">18.0%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">18.4%</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Significant components of the Company&#8217;s
deferred tax assets and liabilities are as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Deferred tax assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 74%; text-align: left; padding-left: 22.5pt">Capitalized research and development costs</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">12,566</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">9,144</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 22.5pt">Employee compensation and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,483</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,452</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 22.5pt">Allowances for doubtful accounts and discounts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">452</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">431</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 22.5pt">Inventories</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,831</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,635</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 22.5pt">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,876</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,698</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 22.5pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,537</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,608</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Total deferred tax assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">20,745</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">16,968</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Deferred tax liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -4.5pt; padding-left: 27pt">Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,868</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,578</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-indent: -4.5pt; padding-left: 27pt">Other</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,196</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,414</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; border-bottom: Black 1pt solid">Total deferred tax liabilities</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">4,064</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">4,992</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid">Net deferred tax assets</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">16,681</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">11,976</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FederalIncomeTaxNoteTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 federal tax basis of investment holdings. This item captures the aggregate cost of securities, aggregate gross unrealized appreciation for all securities in which there is an excess of value over tax cost, aggregate gross unrealized depreciation for all securities in which there is an excess of tax cost over value, net unrealized appreciation (depreciation), and an explanation of the differences between tax and book.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FederalIncomeTaxNoteTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573863264896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings Per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Set forth below is a reconciliation of the numerator
and denominator for the basic and diluted earnings per share calculations for the periods indicated:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Numerator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 61%; text-align: left; text-indent: 17.9pt; padding-left: 0.1pt">Net income</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">30,563</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">48,215</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">88,332</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Denominator:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -9pt; padding-left: 27pt">Weighted average number of common shares outstanding &#8211; Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,088,205</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,676,955</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">17,648,850</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -9pt; padding-left: 27pt">Dilutive effect of options and restricted stock units outstanding under the Company&#8217;s employee compensation plans</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">181,896</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">134,263</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">144,498</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; text-indent: -27pt; padding-left: 27pt">Weighted average number of common shares outstanding &#8211; Diluted</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">17,270,101</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">17,811,218</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">17,793,348</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>59
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759835648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Repurchases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAbstract', window );"><strong>Stock Repurchases [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_ScheduleOfTreasuryStockByClassTextBlock', window );">Schedule of Repurchased Shares of its Common Stock</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In 2024, 2023, and 2022 the Company repurchased
shares of its common stock. Details of these purchases are as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"></p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold">
    <td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid">Period</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Total <br/>
Number of <br/>
Shares <br/>
Purchased</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Average <br/>
Price Paid<br/>
 per Share</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Total Number <br/>
of Shares<br/>
 Purchased as <br/>
Part of <br/>
Publicly<br/>
 Announced<br/>
 Program</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Maximum <br/>
Dollar Value <br/>
of Shares that<br/>
 May Yet Be <br/>
Purchased <br/>
Under the<br/>
 Program</td></tr>
  <tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold">
    <td style="padding-left: 5.4pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 2.7pt">Third Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 16.2pt">July 3 to July 30</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-26">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-27">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-28">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 16.2pt">July 31 to August 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-29">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-30">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-31">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; width: 48%; padding-left: 16.2pt">August 28 to October 1</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right">2,136</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right">49.97</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right">2,136</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
    <td style="border-bottom: Black 1pt solid; width: 1%; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; width: 10%; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 2.7pt">Fourth Quarter 2022</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 16.2pt">October 2 to October 29</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-32">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-33">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-34">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 16.2pt">October 30 to November 26</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,304</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">49.77</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,304</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 16.2pt">November 27 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-35">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-36">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><div style="-sec-ix-hidden: hidden-fact-37">&#8212;</div></td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 2.7pt">Fourth Quarter 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 16.2pt">October 1 to October 28</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-38">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-39">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-40">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 16.2pt">October 29 to November 25</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">179,341</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">45.20</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">179,341</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid; padding-left: 16.2pt">November 26 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">84,721</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">43.67</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">84,721</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="vertical-align: bottom; background-color: White; font-size: 10pt">
    <td style="border-top: Black 1pt solid; text-align: left">First Quarter 2024</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-top: Black 1pt solid">&#160;</td>
    <td style="border-top: Black 1pt solid; text-align: left">&#160;</td><td style="border-top: Black 1pt solid; text-align: right">&#160;</td><td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; padding-left: 0.3in">January 1 to January 27</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">7,317</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">43.42</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">7,317</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">&#160;</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">January 28 to February 24</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,307</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">42.93</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">20,307</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">February 25 to March 30</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">47,400</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">42.79</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">47,400</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Second Quarter 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0.3in">March 31 to April 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-41">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-42">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-43">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">April 28 to May 25</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">28,924</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">42.92</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">28,924</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">May 26 to June 29</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">373,969</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">42.27</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">373,969</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Third Quarter 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0.3in">June 30 to July 27</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">156,517</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">41.27</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">156,517</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">July 28 to August 24</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-44">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-45">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-46">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">August 25 to September 28</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">64,325</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">40.66</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">64,325</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Fourth Quarter 2024</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0.3in">September 29 to October 26</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,340</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">40.50</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,340</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 0.3in">October 27 to November 23</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,129</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">39.50</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,129</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 0.3in">November 23 to December 31</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">72,832</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">34.81</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">72,832</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">Total</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,103,562</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">42.07</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,103,562</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">40,290,000</td><td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfTreasuryStockByClassTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481520/505-30-50-2<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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481520/505-30-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481520/505-30-50-4<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfTreasuryStockByClassTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_TreasuryStockValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance 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>60
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765458592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Segment Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract', window );"><strong>Operating Segment Information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of Operating Segment Financial Information</a></td>
<td class="text">The Company&#8217;s CODM periodically reviews cost of goods sold by segment and treats it as a significant segment expense.<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: normal; text-align: justify">Net Sales</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 61%">Firearms</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">532,608</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">540,746</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">593,289</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt">Unaffiliated</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,035</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,021</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,553</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 20pt">Intersegment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">31,528</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">33,086</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">21,306</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">34,563</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">36,107</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">23,859</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Eliminations</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(31,528</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(33,086</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(21,306</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">535,643</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">543,767</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">595,842</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Costs of Goods Sold</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">417,222</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">407,068</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">410,507</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt">Unaffiliated</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,006</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,080</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,250</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; padding-left: 20pt">Intersegment</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">31,528</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">33,086</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">21,306</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">35,534</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">36,166</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">26,556</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Eliminations</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(31,528</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(33,086</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(21,306</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">421,228</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">410,148</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">415,757</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross Profit (Loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">115,386</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">133,678</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">182,782</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(971</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(59</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,697</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">114,415</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">133,619</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">180,085</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Operating Income (Loss)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">33,273</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">52,887</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">106,803</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(1,619</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(803</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(3,347</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">31,654</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">52,084</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">103,456</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Income (Loss) Before Income Taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">34,051</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">53,723</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">108,609</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(1,616</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(799</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(3,338</td><td style="white-space: nowrap; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">&#160;Corporate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">5,340</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">5,900</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,008</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">37,775</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">58,824</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">108,279</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">Year ended December 31,</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2024</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2023</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">2022</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Identifiable Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 61%">Firearms</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">230,024</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">228,699</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">223,301</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Castings</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">9,303</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,144</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,910</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Corporate</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">144,707</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">158,974</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">249,552</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">384,034</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">398,817</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">484,763</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Goodwill</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,055</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,055</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">3,055</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">209</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">209</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">209</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,264</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,264</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">3,264</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">19,952</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">19,301</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">21,992</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,154</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,814</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">2,452</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">21,106</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">21,115</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">24,444</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Capital Expenditures</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Firearms</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">20,488</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">15,395</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">26,598</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; border-bottom: Black 1pt solid">Castings</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">333</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">401</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">1,175</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">20,821</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">15,796</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">27,773</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_SegmentReportingInformationOperatingIncomeLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765283376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Quarterly Results of Operations (Unaudited) (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly Results of Operations (Unaudited) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock', window );">Schedule of Quarterly Financial Information</a></td>
<td class="text"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The following is a tabulation of the unaudited
quarterly results of operations for the two years ended December 31, 2024:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1.25in">&#160;</p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Three Months Ended</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">3/30/24</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">6/29/24</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">9/28/24</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">12/31/24</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-weight: normal; text-align: left; text-indent: 0.5pt">Net Sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">136,820</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">130,761</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">122,287</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">145,775</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: 0.5pt">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">29,403</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">29,154</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">22,672</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">33,186</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: 0.5pt">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,084</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,264</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,738</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,477</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: 0.5pt">Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.41</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.48</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.28</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.63</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid; text-indent: 0.5pt">Diluted earnings per share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.40</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.47</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.28</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.62</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in">&#160;</p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="14" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Three Months Ended</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">4/1/23</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">7/1/23</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">9/30/23</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid">12/31/23</td><td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-weight: normal; text-align: left">Net Sales</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">149,453</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">142,804</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">120,893</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">130,617</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">38,486</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">38,148</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">24,728</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">32,257</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">14,350</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">16,185</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,431</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,249</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.81</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.91</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.42</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.58</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="border-bottom: Black 1pt solid">Diluted earnings per share</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.81</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.91</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.42</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">0.58</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
  </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765458592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Contingent Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyAbstract', window );"><strong>Contingent Liabilities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Schedule of Roll-forward for Product Liability Reserve</a></td>
<td class="text"><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Balance Sheet Roll-forward for Product Liability
Reserve</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>&#160;</b></p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">Cash Payments</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td>
    <td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center">&#160;</td><td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif">&#160;</td></tr>
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"><span style="font-family: Times New Roman, Times, Serif">Balance <br/>
Beginning <br/>
of Year (a<b>)</b></span></td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Accrued<br/>
 Legal<br/>
 Expense<br/>
 (Income) <br/>
(b)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Legal Fees <br/>
(c)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Settlements <br/>
(d)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Balance <br/>
End of <br/>
Year (a)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; text-align: justify">2022</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">892</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(417</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">(167</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right"><div style="-sec-ix-hidden: hidden-fact-47">&#8212;</div></td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">308</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">308</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(129</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-48">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">679</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2024</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">679</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">67</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(254</td><td style="white-space: nowrap; text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><div style="-sec-ix-hidden: hidden-fact-49">&#8212;</div></td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">492</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(a)</td><td style="text-align: justify">The beginning and ending liability balances represent accrued legal fees only. Settlements and administrative
costs are expensed as incurred. Only in rare instances is an accrual established for settlements.</td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(b)</td><td style="text-align: justify">The expense accrued in the liability is for legal fees only. In 2022, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.</td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(c)</td><td style="text-align: justify">Legal fees represent payments to outside counsel related to product liability matters.</td></tr></table>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in">&#160;</p>

<table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(d)</td><td style="text-align: justify">Settlements represent payments made to plaintiffs or allegedly injured parties in exchange for a full
and complete release of liability.</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_ProductLiabilityContingenciesTextBlock', window );">Schedule of Product Liability Expense</a></td>
<td class="text"><p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income Statement Detail for Product Liability
Expense</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;">
  <tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Accrued <br/>
Legal<br/>
 Expense<br/>
 (b)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Insurance <br/>
Premium <br/>
Expense <br/>
(e)</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid">Total <br/>
Product<br/>
 Liability <br/>
Expense</td><td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="white-space: nowrap; text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="white-space: nowrap; text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 61%; text-align: justify">2022</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">(417</td><td style="white-space: nowrap; width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 10%; text-align: right">1,524</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">1,107</td><td style="white-space: nowrap; width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">500</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,226</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,726</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2024</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">67</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">908</td><td style="white-space: nowrap; text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">975</td><td style="white-space: nowrap; text-align: left">&#160;</td></tr>
  </table><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(b)</td><td style="text-align: justify">The expense accrued in the liability is for legal fees only. In 2022, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.</td></tr></table><table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in">(e)</td><td style="text-align: justify">Insurance expense represents the cost of insurance premiums.</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_LossContingencyAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductLiabilityContingenciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 exposure to material amount of loss arising from allegations of damages pertaining to and arising from one or more of the entity's products.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-9<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.Y.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480102/450-20-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.Y.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480102/450-20-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_ProductLiabilityContingenciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 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>63
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759669600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ChangeInAccountingEstimateLineItems', window );"><strong>Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationEffectOnEarningsPerShare', window );">Customary payment description</a></td>
<td class="text">Customary payment terms are 2%
30 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_BadDebtExpenseInTerm', window );">Bad debt expense in term</a></td>
<td class="text">3 years<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_AdvertisingExpense', window );">Advertising expenses</a></td>
<td class="nump">$ 3.4<span></span>
</td>
<td class="nump">$ 3.1<span></span>
</td>
<td class="nump">$ 2.4<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_rgr_ShippingCosts', window );">Shipping costs</a></td>
<td class="nump">4.3<span></span>
</td>
<td class="nump">4.4<span></span>
</td>
<td class="nump">4.7<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">$ 8.2<span></span>
</td>
<td class="nump">$ 9.8<span></span>
</td>
<td class="nump">$ 9.6<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Building [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ChangeInAccountingEstimateLineItems', window );"><strong>Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Useful life</a></td>
<td class="text">15 years<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ChangeInAccountingEstimateLineItems', window );"><strong>Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Useful life</a></td>
<td class="text">7 years<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember', window );">Tools, Dies and Molds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ChangeInAccountingEstimateLineItems', window );"><strong>Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Useful life</a></td>
<td class="text">3 years<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_StatementBusinessSegmentsAxis=rgr_FirearmsMember', window );">Firearms [Member] | Customer 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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ChangeInAccountingEstimateLineItems', window );"><strong>Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of sales</a></td>
<td class="nump">99.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=rgr_ExportSalesMember', window );">Export Sales [Member] | Customer 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ChangeInAccountingEstimateLineItems', window );"><strong>Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of sales</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=rgr_CastingsSalesMember', window );">Castings Sales [Member] | Customer 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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ChangeInAccountingEstimateLineItems', window );"><strong>Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of sales</a></td>
<td class="nump">1.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_rgr_BadDebtExpenseInTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Bad debt expense in term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_BadDebtExpenseInTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_rgr_ShippingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cost incurred during the reporting period in shipping and transporting goods and services to customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_ShippingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483385/720-35-55-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ChangeInAccountingEstimateLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ChangeInAccountingEstimateLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_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_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482916/730-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479532/912-730-25-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationEffectOnEarningsPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of treatment of share-based payment arrangement in earnings per share computation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationEffectOnEarningsPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_FirearmsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_FirearmsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_SalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_ExportSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_ExportSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_CastingsSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_CastingsSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765867136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition and Contracts with Customers (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue Recognition and Contracts with Customers [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_RevenueRemainingPerformanceObligation', window );">Revenue and recognized</a></td>
<td class="nump">$ 4.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.1<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_rgr_NetIncreaseInFirearmsSales', window );">Net increase in firearms sales</a></td>
<td class="nump">0.9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.1<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_rgr_DeferredContractRevenueLiability', window );">Deferred contract revenue liability</a></td>
<td class="nump">0.1<span></span>
</td>
<td class="nump">$ 1.0<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_DeferredOfRevenue', window );">Deferred of revenue</a></td>
<td class="nump">$ 3.2<span></span>
</td>
<td class="nump">1.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_NetDecreaseInFirearmsSales', window );">Net decrease in firearms sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.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_rgr_DeferredContractRevenueLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred contract revenue liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_DeferredContractRevenueLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_rgr_DeferredOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred of 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;">rgr_DeferredOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_rgr_NetDecreaseInFirearmsSales">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net decrease in firearms sales.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_NetDecreaseInFirearmsSales</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_rgr_NetIncreaseInFirearmsSales">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net increase in firearms sales.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_NetIncreaseInFirearmsSales</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573763813968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition and Contracts with Customers - Schedule of Revenue Recognized (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></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_rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems', window );"><strong>Schedule of Revenue Recognized [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_ContractWithCustomerLiability', window );">Contract liabilities with customers at beginning of period</a></td>
<td class="nump">$ 149<span></span>
</td>
<td class="nump">$ 1,031<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_DeferredIncomeRevenueRecognized', window );">Revenue recognized</a></td>
<td class="num">(149)<span></span>
</td>
<td class="num">(4,084)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueAdditions', window );">Revenue deferred</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">3,202<span></span>
</td>
<td class="nump">1,031<span></span>
</td>
</tr>
<tr class="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 liabilities with customers at end of period</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 149<span></span>
</td>
<td class="nump">$ 1,031<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_DeferredIncomeRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 previously reported as deferred income not accounted for under Topic 606.</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 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479432/944-30-50-2B<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredRevenueAdditions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 revenue recognized for transactions arising during the current reporting period. Deferred revenue is a liability as of the balance sheet date related to a revenue producing activity for which revenue has not yet been recognized. Generally, an Entity records deferred revenue when it receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized in conformity with GAAP.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueAdditions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573758299056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Trade Receivables, Net (Details) - Customer Concentration Risk [Member] - Accounts Receivable [Member]<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer One [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_TradeReceivablesNetLineItems', window );"><strong>Trade Receivables, Net [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Total trade receivables</a></td>
<td class="nump">26.00%<span></span>
</td>
<td class="nump">22.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Two [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_TradeReceivablesNetLineItems', window );"><strong>Trade Receivables, Net [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Total trade receivables</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Three [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_rgr_TradeReceivablesNetLineItems', window );"><strong>Trade Receivables, Net [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Total trade receivables</a></td>
<td class="nump">14.00%<span></span>
</td>
<td class="nump">17.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Four [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_TradeReceivablesNetLineItems', window );"><strong>Trade Receivables, Net [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Total trade receivables</a></td>
<td class="nump">11.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_TradeReceivablesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_TradeReceivablesNetLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgr_CustomerOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgr_CustomerOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgr_CustomerTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgr_CustomerTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgr_CustomerThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgr_CustomerThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgr_CustomerFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgr_CustomerFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573760196096">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Trade Receivables, Net - Schedule of Trade Receivables (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ScheduleOfTradeReceivablesAbstract', window );"><strong>Schedule of Trade Receivables [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Trade receivables</a></td>
<td class="nump">$ 68,855<span></span>
</td>
<td class="nump">$ 61,428<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for doubtful accounts</a></td>
<td class="num">(400)<span></span>
</td>
<td class="num">(400)<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_rgr_AllowanceForDiscountssAccountsReceivableCurrent', window );">Allowance for discounts</a></td>
<td class="num">(1,310)<span></span>
</td>
<td class="num">(1,164)<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_AccountsReceivableNetCurrent', window );">Total trade receivables</a></td>
<td class="nump">$ 67,145<span></span>
</td>
<td class="nump">$ 59,864<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_AllowanceForDiscountssAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Allowance for discounts accounts receivable current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_AllowanceForDiscountssAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_rgr_ScheduleOfTradeReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_ScheduleOfTradeReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573760462752">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories - Schedule of Inventories (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNetAbstract', window );"><strong>Inventory at FIFO</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</a></td>
<td class="nump">$ 26,022<span></span>
</td>
<td class="nump">$ 30,989<span></span>
</td>
</tr>
<tr class="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 );">Materials and products in process</a></td>
<td class="nump">123,395<span></span>
</td>
<td class="nump">119,203<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_InventoryGross', window );">Gross inventories</a></td>
<td class="nump">149,417<span></span>
</td>
<td class="nump">150,192<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryLIFOReserve', window );">Less: LIFO reserve</a></td>
<td class="num">(66,398)<span></span>
</td>
<td class="num">(64,262)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryValuationReserves', window );">Less: excess and obsolescence reserve</a></td>
<td class="num">(6,533)<span></span>
</td>
<td class="num">(6,120)<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 );">Net inventories</a></td>
<td class="nump">$ 76,486<span></span>
</td>
<td class="nump">$ 79,810<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_InventoryGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, 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://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_InventoryGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InventoryLIFOReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which inventory stated at last-in first-out (LIFO) is less than (in excess of) inventory stated at other inventory cost methods.</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)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryLIFOReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_InventoryValuationReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation reserve for inventory.</p></div>
<a href="javascript: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 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480581/330-10-S99-2<br><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(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_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765400928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant and Equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">$ 21,106<span></span>
</td>
<td class="nump">$ 21,115<span></span>
</td>
<td class="nump">$ 24,444<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759260448">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Property, Plant and Equipment - Schedule of Property, Plant and Equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment</a></td>
<td class="nump">$ 477,622<span></span>
</td>
<td class="nump">$ 462,397<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less allowances for depreciation</a></td>
<td class="num">(406,373)<span></span>
</td>
<td class="num">(390,863)<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_PropertyPlantAndEquipmentNet', window );">Net property, plant and equipment</a></td>
<td class="nump">71,249<span></span>
</td>
<td class="nump">71,534<span></span>
</td>
</tr>
<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_LandImprovementsMember', window );">Land Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment</a></td>
<td class="nump">2,826<span></span>
</td>
<td class="nump">2,826<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment</a></td>
<td class="nump">76,153<span></span>
</td>
<td class="nump">74,650<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment</a></td>
<td class="nump">333,365<span></span>
</td>
<td class="nump">322,730<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember', window );">Dies and Tools [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment</a></td>
<td class="nump">$ 65,278<span></span>
</td>
<td class="nump">$ 62,191<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LandImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573758622336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Assets (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_OtherAssetsDetailsLineItems', window );"><strong>Other Assets (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Patent amortization</a></td>
<td class="nump">$ 0.5<span></span>
</td>
<td class="nump">$ 0.4<span></span>
</td>
<td class="nump">$ 0.4<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">Estimated annual patent amortization expense after five years</a></td>
<td class="nump">0.4<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_FiniteLivedIntangibleAssetsByMajorClassAxis=rgr_TradeNameMember', window );">Trade Name[Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_OtherAssetsDetailsLineItems', window );"><strong>Other Assets (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">Estimated annual patent amortization expense 2024</a></td>
<td class="nump">0.4<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">Estimated annual patent amortization expense 2025</a></td>
<td class="nump">0.4<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">Estimated annual patent amortization expense 2026</a></td>
<td class="nump">0.4<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">Estimated annual patent amortization expense 2027</a></td>
<td class="nump">0.4<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">Estimated annual patent amortization expense 2028</a></td>
<td class="nump">0.4<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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_OtherAssetsDetailsLineItems', window );"><strong>Other Assets (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">Estimated annual patent amortization expense 2024</a></td>
<td class="nump">0.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">Estimated annual patent amortization expense 2025</a></td>
<td class="nump">0.1<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">Estimated annual patent amortization expense 2026</a></td>
<td class="nump">0.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">Estimated annual patent amortization expense 2027</a></td>
<td class="nump">0.1<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">Estimated annual patent amortization expense 2028</a></td>
<td class="nump">$ 0.1<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_rgr_OtherAssetsDetailsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_OtherAssetsDetailsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: 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_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=rgr_TradeNameMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=rgr_TradeNameMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573865857328">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Other Assets - Schedule of Other Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ScheduleOfOtherAssetsAbstract', window );"><strong>Schedule Of Other Assets Abstract</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedPatentsGross', window );">Patents, at cost</a></td>
<td class="nump">$ 10,339<span></span>
</td>
<td class="nump">$ 10,280<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepositAssets', window );">Deposits on capital items</a></td>
<td class="nump">18,443<span></span>
</td>
<td class="nump">23,045<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedTradeNames', window );">Marlin trade name, at cost</a></td>
<td class="nump">7,800<span></span>
</td>
<td class="nump">7,800<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(8,008)<span></span>
</td>
<td class="num">(7,171)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsMiscellaneous', window );">Other</a></td>
<td class="nump">9,173<span></span>
</td>
<td class="nump">9,958<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_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">$ 37,747<span></span>
</td>
<td class="nump">$ 43,912<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ScheduleOfOtherAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_ScheduleOfOtherAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepositAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying amount of the asset transferred to a third party to serve as a deposit, which typically serves as security against failure by the transferor to perform under terms of an agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepositAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedPatentsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying amount before accumulated amortization as of the balance sheet date of the costs pertaining to the exclusive legal rights granted to the owner of the patent to exploit an invention or a process for a period of time specified by law. Such costs may have been expended to directly apply and receive patent rights, or to acquire such rights.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedPatentsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IndefiniteLivedTradeNames">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (original costs adjusted for previously recognized amortization and impairment) as of the balance sheet date for the rights acquired through registration of a trade name to gain or protect exclusive use thereof for a projected indefinite period of benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IndefiniteLivedTradeNames</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherAssetsMiscellaneous">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other miscellaneous assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsMiscellaneous</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765426960">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leased Assets (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leased Assets [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Lease term</a></td>
<td class="text">7 years 8 months 12 days<span></span>
</td>
<td class="text">7 years 10 months 24 days<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573754137680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leased Assets - Schedule of Right-of-Use Assets and Related Lease Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems', window );"><strong>Leased Assets - Schedule of Right-of-Use Assets and Related Lease Liabilities (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating Lease, Liability, Noncurrent</a></td>
<td class="nump">$ 1,747<span></span>
</td>
<td class="nump">$ 2,170<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating Lease, Liability</a></td>
<td class="nump">2,345<span></span>
</td>
<td class="nump">2,781<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating Lease, Payments</a></td>
<td class="nump">796<span></span>
</td>
<td class="nump">796<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermLeasePayments', window );">Short-Term Lease Payments</a></td>
<td class="nump">449<span></span>
</td>
<td class="nump">565<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability', window );">Right-of-Use Asset Obtained in Exchange for Finance Lease Liability</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_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Operating Lease, Weighted Average Remaining Lease Term</a></td>
<td class="text">7 years 8 months 12 days<span></span>
</td>
<td class="text">7 years 10 months 24 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Operating Lease, Weighted Average Discount Rate, Percent</a></td>
<td class="nump">8.00%<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_OtherAssetsMember', window );">Other Assets [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_rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems', window );"><strong>Leased Assets - Schedule of Right-of-Use Assets and Related Lease Liabilities (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating Lease, Right-of-Use Asset</a></td>
<td class="nump">$ 2,345<span></span>
</td>
<td class="nump">$ 2,781<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=rgr_TradeAccountsPayableAndAccruedExpensesMember', window );">Trade accounts payable and accrued expenses [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems', window );"><strong>Leased Assets - Schedule of Right-of-Use Assets and Related Lease Liabilities (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating Lease, Liability, Current</a></td>
<td class="nump">598<span></span>
</td>
<td class="nump">611<span></span>
</td>
</tr>
<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=rgr_LeaseLiabilitiesMember', window );">Lease liabilities [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_rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems', window );"><strong>Leased Assets - Schedule of Right-of-Use Assets and Related Lease Liabilities (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating Lease, Liability, Noncurrent</a></td>
<td class="nump">$ 1,747<span></span>
</td>
<td class="nump">$ 2,170<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<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_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ShortTermLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 short-term lease payment excluded from lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (d)<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_ShortTermLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_OtherAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_OtherAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=rgr_TradeAccountsPayableAndAccruedExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=rgr_TradeAccountsPayableAndAccruedExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=rgr_LeaseLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=rgr_LeaseLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573861119008">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leased Assets - Schedule of Operating Lease Liabilities Future Minimum Lease Payments (Details) - Operating lease [Member]<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasedAssetsLineItems', window );"><strong>Schedule of Operating Lease Liabilities Future Minimum Lease Payments [Line items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2025</a></td>
<td class="nump">$ 765<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2026</a></td>
<td class="nump">771<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2027</a></td>
<td class="nump">295<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2028</a></td>
<td class="nump">160<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2029</a></td>
<td class="nump">160<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">800<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total undiscounted future minimum lease payments</a></td>
<td class="nump">2,951<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: Difference between undiscounted lease payments &amp; the present value of future lease payments</a></td>
<td class="num">(606)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total operating lease liabilities</a></td>
<td class="nump">$ 2,345<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_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseContractualTermAxis=rgr_OperatingLeaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LeaseContractualTermAxis=rgr_OperatingLeaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759668624">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Trade Accounts Payable and Accrued Expenses - Schedule of Trade Accounts Payable and Accrued Expenses (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract', window );"><strong>Schedule of Trade Accounts Payable and Accrued Expenses [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_AccountsPayableTradeCurrent', window );">Trade accounts payable</a></td>
<td class="nump">$ 13,170<span></span>
</td>
<td class="nump">$ 11,100<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Federal excise taxes payable</a></td>
<td class="nump">13,192<span></span>
</td>
<td class="nump">11,954<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccountsPayableAndAccruedLiabilities', window );">Accrued other</a></td>
<td class="nump">9,388<span></span>
</td>
<td class="nump">8,654<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_AccountsPayableAndAccruedLiabilitiesCurrent', window );">Trade accounts payable and accrued expenses</a></td>
<td class="nump">$ 35,750<span></span>
</td>
<td class="nump">$ 31,708<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying values as of the balance sheet date of obligations incurred through that date and due within one year (or the operating cycle, if longer), including liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received, taxes, interest, rent and utilities, accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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_AccountsPayableAndAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_AccruedIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.</p></div>
<a href="javascript: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 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 incurred and payable to vendors for goods and services received classified as other, and expenses incurred but not yet paid, payable within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>77
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759504288">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accrued Dividends (Details) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th"><div>Jan. 05, 2023</div></th>
<th class="th"><div>Nov. 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_rgr_AccruedDividendsDetailsLineItems', window );"><strong>Accrued Dividends (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableAmountPerShare', window );">Dividend payable per share</a></td>
<td class="text">&#160;<span></span>
</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_DividendsPayableCurrentAndNoncurrent', window );">Dividends Payable</a></td>
<td class="nump">$ 88.3<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_DividendsAxis=rgr_S2022Q4DividendsMember', window );">S2022Q4 Dividends [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_AccruedDividendsDetailsLineItems', window );"><strong>Accrued Dividends (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear', window );">Dividends payable, date of record</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Dec. 15,  2022<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendPayableDateToBePaidDayMonthAndYear', window );">Dividends payable, date to be paid</a></td>
<td class="text">Jan.  05,  2023<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_rgr_AccruedDividendsDetailsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_AccruedDividendsDetailsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendPayableDateToBePaidDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date the declared dividend will be paid, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendPayableDateToBePaidDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_DividendsPayableAmountPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The per share amount of a dividend declared, but not paid, as of the financial reporting date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableAmountPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 dividends declared but unpaid on equity securities issued by the entity and outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 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(24))<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 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 405<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478790/946-405-45-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(a))<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_DividendsPayableCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DividendsPayableDateOfRecordDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date the holder must own the stock to be entitled to the dividend, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableDateOfRecordDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_DividendsAxis=rgr_S2022Q4DividendsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_DividendsAxis=rgr_S2022Q4DividendsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573764105072">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Line of Credit (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Jun. 06, 2024</div></th>
<th class="th"><div>Jan. 07, 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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 40<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityExpirationDate1', window );">Revolving credit facility, expiration date</a></td>
<td class="text">Jan.  07,  2028<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Line of credit unused portion per year</a></td>
<td class="nump">0.25%<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_LineOfCreditFacilityExpirationDate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date the credit facility terminates, in YYYY-MM-DD format.</p></div>
<a href="javascript: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_LineOfCreditFacilityExpirationDate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573763821936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Benefit Plans (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Employee Benefit Plans [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_DefinedContributionPlanAdministrativeExpenses', window );">Expenses related to matching employee contributions</a></td>
<td class="nump">$ 4.1<span></span>
</td>
<td class="nump">$ 4.7<span></span>
</td>
<td class="nump">$ 4.1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount', window );">Supplemental contributions total</a></td>
<td class="nump">$ 7.0<span></span>
</td>
<td class="nump">$ 6.9<span></span>
</td>
<td class="nump">$ 7.4<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanAdministrativeExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of administrative expense incurred by defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanAdministrativeExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedContributionPlanEmployerDiscretionaryContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of discretionary contributions made by an employer to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>80
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573765391584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Operating Income, Net - Schedule of Other Operating Income, Net (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></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_OperatingIncomeLossAbstract', window );"><strong>Schedule of Other Operating Income, Net [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_GainLossOnSaleOfOtherAssets', window );">Gain on sale of operating assets</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 5<span></span>
</td>
<td class="nump">$ 36<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_GainLossOnSaleOfOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of other assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 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_GainLossOnSaleOfOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759972032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2025</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_IncomeTaxesDetailsLineItems', window );"><strong>Income Taxes (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19.10%<span></span>
</td>
<td class="nump">18.00%<span></span>
</td>
<td class="nump">18.40%<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_rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes', window );">Capitalized and amortized over for income tax purposes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<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_IncomeTaxesPaidNet', window );">Income tax payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10.6<span></span>
</td>
<td class="nump">$ 26.0<span></span>
</td>
<td class="nump">$ 28.7<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember', window );">Forecast [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_IncomeTaxesDetailsLineItems', window );"><strong>Income Taxes (Details) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">20.30%<span></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_rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Capitalized and amortized over for income tax purposes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_rgr_IncomeTaxesDetailsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_IncomeTaxesDetailsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=srt_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759055920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Schedule of Federal and State Income Tax Provision (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></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_IncomeTaxPaidFederalAfterRefundReceivedAbstract', window );"><strong>Schedule of Federal and State Income Tax Provision [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_CurrentFederalTaxExpenseBenefit', window );">Federal, current</a></td>
<td class="nump">$ 10,310<span></span>
</td>
<td class="nump">$ 14,763<span></span>
</td>
<td class="nump">$ 21,741<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal, deferred</a></td>
<td class="num">(4,190)<span></span>
</td>
<td class="num">(5,285)<span></span>
</td>
<td class="num">(4,694)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State, current</a></td>
<td class="nump">1,607<span></span>
</td>
<td class="nump">1,713<span></span>
</td>
<td class="nump">3,779<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State, deferred</a></td>
<td class="num">(515)<span></span>
</td>
<td class="num">(582)<span></span>
</td>
<td class="num">(879)<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_CurrentIncomeTaxExpenseBenefit', window );">Current</a></td>
<td class="nump">11,917<span></span>
</td>
<td class="nump">16,476<span></span>
</td>
<td class="nump">25,520<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred</a></td>
<td class="num">$ (4,705)<span></span>
</td>
<td class="num">$ (5,867)<span></span>
</td>
<td class="num">$ (5,573)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573760200928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Schedule of Effective Income Tax Rate Reconciliation (Details)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationDeductionsAbstract', window );"><strong>Schedule of Effective Income Tax Rate Reconciliation [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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Statutory federal income tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income taxes, net of federal tax benefit</a></td>
<td class="nump">1.50%<span></span>
</td>
<td class="nump">2.20%<span></span>
</td>
<td class="nump">2.70%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch', window );">Research and development tax credits</a></td>
<td class="num">(5.90%)<span></span>
</td>
<td class="num">(2.70%)<span></span>
</td>
<td class="num">(4.20%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="nump">2.50%<span></span>
</td>
<td class="num">(2.50%)<span></span>
</td>
<td class="num">(1.10%)<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_EffectiveIncomeTaxRateContinuingOperations', window );">Effective income tax rate</a></td>
<td class="nump">19.10%<span></span>
</td>
<td class="nump">18.00%<span></span>
</td>
<td class="nump">18.40%<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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.1.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationDeductionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationDeductionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance 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>84
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573758298864">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComponentsOfDeferredTaxAssetsAbstract', window );"><strong>Deferred tax assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment', window );">Capitalized research and development costs</a></td>
<td class="nump">$ 12,566<span></span>
</td>
<td class="nump">$ 9,144<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation', window );">Employee compensation and benefits</a></td>
<td class="nump">2,483<span></span>
</td>
<td class="nump">2,452<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts', window );">Allowances for doubtful accounts and discounts</a></td>
<td class="nump">452<span></span>
</td>
<td class="nump">431<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInventory', window );">Inventories</a></td>
<td class="nump">1,831<span></span>
</td>
<td class="nump">1,635<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock-based compensation</a></td>
<td class="nump">1,876<span></span>
</td>
<td class="nump">1,698<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOther', window );">Other</a></td>
<td class="nump">1,537<span></span>
</td>
<td class="nump">1,608<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Total deferred tax assets</a></td>
<td class="nump">20,745<span></span>
</td>
<td class="nump">16,968<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract', window );"><strong>Deferred tax liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Depreciation</a></td>
<td class="nump">2,868<span></span>
</td>
<td class="nump">3,578<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesOther', window );">Other</a></td>
<td class="nump">1,196<span></span>
</td>
<td class="nump">1,414<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="nump">4,064<span></span>
</td>
<td class="nump">4,992<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred tax assets</a></td>
<td class="nump">$ 16,681<span></span>
</td>
<td class="nump">$ 11,976<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_ComponentsOfDeferredTaxAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComponentsOfDeferredTaxAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from in-process research and development cost acquired in business combination or from joint venture formation or both.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from employee compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from 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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573758979248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings Per Share - Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Sep. 28, 2024</div></th>
<th class="th"><div>Jun. 29, 2024</div></th>
<th class="th"><div>Mar. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jul. 01, 2023</div></th>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAbstract', window );"><strong>Numerator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 (in Dollars)</a></td>
<td class="nump">$ 10,477<span></span>
</td>
<td class="nump">$ 4,738<span></span>
</td>
<td class="nump">$ 8,264<span></span>
</td>
<td class="nump">$ 7,084<span></span>
</td>
<td class="nump">$ 10,249<span></span>
</td>
<td class="nump">$ 7,431<span></span>
</td>
<td class="nump">$ 16,185<span></span>
</td>
<td class="nump">$ 14,350<span></span>
</td>
<td class="nump">$ 30,563<span></span>
</td>
<td class="nump">$ 48,215<span></span>
</td>
<td class="nump">$ 88,332<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Denominator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average number of common shares outstanding &#8211; Basic</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,088,205<span></span>
</td>
<td class="nump">17,676,955<span></span>
</td>
<td class="nump">17,648,850<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Dilutive effect of options and restricted stock units outstanding under the Company&#8217;s employee compensation plans</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">181,896<span></span>
</td>
<td class="nump">134,263<span></span>
</td>
<td class="nump">144,498<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average number of common shares outstanding &#8211; Diluted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,270,101<span></span>
</td>
<td class="nump">17,811,218<span></span>
</td>
<td class="nump">17,793,348<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_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_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_WeightedAverageNumberOfSharesOutstandingBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance 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>86
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573760480032">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stock Repurchases (Details)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAbstract', window );"><strong>Stock Repurchases [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_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1', window );">Share repurchase authorization</a></td>
<td class="nump">$ 40,290,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_us-gaap_TreasuryStockValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance 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>87
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573752840912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Repurchases - Schedule of Repurchased Shares of its Common Stock (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="7">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 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_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total Number of Shares Purchased</a></td>
<td class="nump">1,103,562<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="nump">$ 42.07<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="nump">1,103,562<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1', window );">Maximum Dollar Value of Shares that May Yet Be Purchased Under the Program (in Dollars)</a></td>
<td class="nump">$ 40,290,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>
</tr>
<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_AwardDateAxis=rgr_JulyThreeToJulyThirtyMember', window );">July 3 to July 30 [Member] | Third Quarter 2022 [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total Number of Shares Purchased</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"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</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"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</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"> <span></span>
</td>
</tr>
<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_AwardDateAxis=rgr_JulyThirtyoneToAugustTwentySevenMember', window );">July 31 to August 27 [Member] | Third Quarter 2022 [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total Number of Shares Purchased</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"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</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"> <span></span>
</td>
</tr>
<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_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</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"> <span></span>
</td>
</tr>
<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_AwardDateAxis=rgr_AugustTwentyEightToOctoberOneMember', window );">August 28 to October 1 [Member] | Third Quarter 2022 [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total Number of Shares Purchased</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">2,136<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</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">$ 49.97<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</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">2,136<span></span>
</td>
</tr>
<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_AwardDateAxis=rgr_OctoberTwoToOctoberTwentyNineMember', window );">October 2 to October 29 [Member] | Fourth Quarter 2022 [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total Number of Shares Purchased</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"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</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"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</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"> <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_AwardDateAxis=rgr_OctoberThirtyToNovemberTwentySevenMember', window );">October 30 to November 26 [Member] | Fourth Quarter 2022 [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total Number of Shares Purchased</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">2,304<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</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">$ 49.77<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</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">2,304<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_AwardDateAxis=rgr_NovemberTwentySevenToDecemberThirtyOneMember', window );">November 27 to December 31 [Member] | Fourth Quarter 2022 [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total Number of Shares Purchased</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"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</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"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</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"> <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_AwardDateAxis=rgr_OctoberOneToOctoberTwentyEightMember', window );">October 1 to October 28 [Member] | Fourth Quarter 2023 [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total Number of Shares Purchased</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"> <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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</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"> <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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</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"> <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_AwardDateAxis=rgr_OctoberTwentyNineToNovemberTwentyFiveMember', window );">October 29 to November 25 [Member] | Fourth Quarter 2023 [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total Number of Shares Purchased</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="nump">179,341<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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</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="nump">$ 45.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</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="nump">179,341<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_AwardDateAxis=rgr_NovemberTwentySixToDecemberThirtyOneMember', window );">November 26 to December 31 [Member] | Fourth Quarter 2023 [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total Number of Shares Purchased</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="nump">84,721<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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</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="nump">$ 43.67<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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</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="nump">84,721<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_AwardDateAxis=rgr_JanuaryOneToJanuaryTwentySevenMember', window );">January 1 to January 27 [Member] | First Quarter 2024 [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total Number of Shares Purchased</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">7,317<span></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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</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">$ 43.42<span></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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</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">7,317<span></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_AwardDateAxis=rgr_JanuaryTwentyEightToFebruaryTwentyFourMember', window );">January 28 to February 24 [Member] | First Quarter 2024 [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total Number of Shares Purchased</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">20,307<span></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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</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">$ 42.93<span></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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</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">20,307<span></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_AwardDateAxis=rgr_FebruaryTwentyFiveToMarchThirtyMember', window );">February 25 to March 30 [Member] | First Quarter 2024 [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total Number of Shares Purchased</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">47,400<span></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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</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">$ 42.79<span></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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</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">47,400<span></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_AwardDateAxis=rgr_MarchThirtyOneToAprilTwentySevenMember', window );">March 31 to April 27 [Member] | Second Quarter 2024 [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total Number of Shares Purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></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_AwardDateAxis=rgr_AprilTwentyEightToMayTwentyFiveMember', window );">April 28 to May 25 [Member] | Second Quarter 2024 [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total Number of Shares Purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,924<span></span>
</td>
<td class="text">&#160;<span></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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 42.92<span></span>
</td>
<td class="text">&#160;<span></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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,924<span></span>
</td>
<td class="text">&#160;<span></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_AwardDateAxis=rgr_MayTwentySixToJuneTwentyNineMember', window );">May 26 to June 29 [Member] | Second Quarter 2024 [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total Number of Shares Purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">373,969<span></span>
</td>
<td class="text">&#160;<span></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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 42.27<span></span>
</td>
<td class="text">&#160;<span></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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">373,969<span></span>
</td>
<td class="text">&#160;<span></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_AwardDateAxis=rgr_JuneThirtyToJulyTwentySevenMember', window );">June 30 to July 27 [Member] | Third Quarter 2024 [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total Number of Shares Purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">156,517<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 41.27<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">156,517<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_AwardDateAxis=rgr_JulyTwentyEightToAugustTwentyFourMember', window );">July 28 to August 24 [Member] | Third Quarter 2024 [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total Number of Shares Purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_AwardDateAxis=rgr_AugustTwentyFiveToSeptemberTwentyEightMember', window );">August 25 to September 28 [Member] | Third Quarter 2024 [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total Number of Shares Purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">64,325<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 40.66<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">64,325<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_AwardDateAxis=rgr_SeptemberTwentyNineToOctoberTwentySixMember', window );">September 29 to October 26 [Member] | Fourth Quarter 2024 [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total Number of Shares Purchased</a></td>
<td class="nump">11,340<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="nump">$ 40.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="nump">11,340<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_AwardDateAxis=rgr_OctoberTwentySevenToNovemberTwentyThreeMember', window );">October 27 to November 23 [Member] | Fourth Quarter 2024 [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total Number of Shares Purchased</a></td>
<td class="nump">52,129<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="nump">$ 39.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="nump">52,129<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_AwardDateAxis=rgr_NovemberTwentyThreeToDecemberThirtyOneMember', window );">November 23 to December 31 [Member] | Fourth Quarter 2024 [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Schedule of Repurchased Shares [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Total Number of Shares Purchased</a></td>
<td class="nump">72,832<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_TreasuryStockAcquiredAverageCostPerShare', window );">Average Price Paid per Share (in Dollars per share)</a></td>
<td class="nump">$ 34.81<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Total Number of Shares Purchased as Part of Publicly Announced Program</a></td>
<td class="nump">72,832<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized to be purchased 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_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased</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: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_EquityClassOfTreasuryStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityClassOfTreasuryStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_us-gaap_TreasuryStockAcquiredAverageCostPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total cost of shares repurchased divided by the total number of shares repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockAcquiredAverageCostPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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_AwardDateAxis=rgr_JulyThreeToJulyThirtyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_JulyThreeToJulyThirtyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_EffectOfFourthQuarterEventsByTypeAxis=rgr_ThirdQuarter2022Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_EffectOfFourthQuarterEventsByTypeAxis=rgr_ThirdQuarter2022Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_JulyThirtyoneToAugustTwentySevenMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_JulyThirtyoneToAugustTwentySevenMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_AugustTwentyEightToOctoberOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_AugustTwentyEightToOctoberOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_OctoberTwoToOctoberTwentyNineMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_OctoberTwoToOctoberTwentyNineMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2022Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2022Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_OctoberThirtyToNovemberTwentySevenMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_OctoberThirtyToNovemberTwentySevenMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_NovemberTwentySevenToDecemberThirtyOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_NovemberTwentySevenToDecemberThirtyOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_OctoberOneToOctoberTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_OctoberOneToOctoberTwentyEightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2023Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2023Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_OctoberTwentyNineToNovemberTwentyFiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_OctoberTwentyNineToNovemberTwentyFiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_NovemberTwentySixToDecemberThirtyOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_NovemberTwentySixToDecemberThirtyOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_JanuaryOneToJanuaryTwentySevenMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_JanuaryOneToJanuaryTwentySevenMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_EffectOfFourthQuarterEventsByTypeAxis=rgr_FirstQuarter2024Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_EffectOfFourthQuarterEventsByTypeAxis=rgr_FirstQuarter2024Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_JanuaryTwentyEightToFebruaryTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_JanuaryTwentyEightToFebruaryTwentyFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_FebruaryTwentyFiveToMarchThirtyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_FebruaryTwentyFiveToMarchThirtyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_MarchThirtyOneToAprilTwentySevenMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_MarchThirtyOneToAprilTwentySevenMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_EffectOfFourthQuarterEventsByTypeAxis=rgr_SecondQuarter2024Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_EffectOfFourthQuarterEventsByTypeAxis=rgr_SecondQuarter2024Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_AprilTwentyEightToMayTwentyFiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_AprilTwentyEightToMayTwentyFiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_MayTwentySixToJuneTwentyNineMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_MayTwentySixToJuneTwentyNineMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_JuneThirtyToJulyTwentySevenMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_JuneThirtyToJulyTwentySevenMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_EffectOfFourthQuarterEventsByTypeAxis=rgr_ThirdQuarter2024Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_EffectOfFourthQuarterEventsByTypeAxis=rgr_ThirdQuarter2024Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_JulyTwentyEightToAugustTwentyFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_JulyTwentyEightToAugustTwentyFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_AugustTwentyFiveToSeptemberTwentyEightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_AugustTwentyFiveToSeptemberTwentyEightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_SeptemberTwentyNineToOctoberTwentySixMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_SeptemberTwentyNineToOctoberTwentySixMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2024Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_EffectOfFourthQuarterEventsByTypeAxis=rgr_FourthQuarter2024Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_OctoberTwentySevenToNovemberTwentyThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_OctoberTwentySevenToNovemberTwentyThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AwardDateAxis=rgr_NovemberTwentyThreeToDecemberThirtyOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AwardDateAxis=rgr_NovemberTwentyThreeToDecemberThirtyOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573760992832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Compensation Plans (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>May 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation</a></td>
<td class="nump">$ 5.8<span></span>
</td>
<td class="nump">$ 6.2<span></span>
</td>
<td class="nump">$ 5.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Unrecognized compensation cost</a></td>
<td class="nump">1.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>
</tr>
<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=rgr_DeferredStockMember', window );">Deferred Stock [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense', window );">Compensation expense</a></td>
<td class="nump">$ 0.9<span></span>
</td>
<td class="nump">$ 0.9<span></span>
</td>
<td class="nump">$ 0.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Restricted stock units issued (in Shares)</a></td>
<td class="nump">153,000<span></span>
</td>
<td class="nump">114,000<span></span>
</td>
<td class="nump">82,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedStockExpense', window );">Cost of issuances restricted stock units</a></td>
<td class="nump">$ 6.8<span></span>
</td>
<td class="nump">$ 6.1<span></span>
</td>
<td class="nump">$ 6.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_RecognizedCostsOfRestrictedStockUnits', window );">Recognized costs of restricted stock units</a></td>
<td class="nump">$ 1.9<span></span>
</td>
<td class="nump">$ 1.3<span></span>
</td>
<td class="nump">$ 1.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">3 years 3 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_UnrecognizedCompensationCost', window );">Unrecognized compensation cost</a></td>
<td class="nump">$ 7.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member] | 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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">24 months<span></span>
</td>
<td class="text">24 months<span></span>
</td>
<td class="text">24 months<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] | 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">26 months<span></span>
</td>
<td class="text">26 months<span></span>
</td>
<td class="text">26 months<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_TitleOfIndividualAxis=srt_DirectorMember', window );">Director [Member] | Vest In June2025 [Member] | Deferred Stock [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued', window );">Deferred stock awards amount (in Shares)</a></td>
<td class="nump">9,291<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=srt_DirectorMember', window );">Director [Member] | Vest in June 2027 [Member] | Deferred Stock [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued', window );">Deferred stock awards amount (in Shares)</a></td>
<td class="nump">11,992<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,478<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_TitleOfIndividualAxis=srt_DirectorMember', window );">Director [Member] | Vest In June 2024 [Member] | Deferred Stock [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued', window );">Deferred stock awards amount (in Shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,566<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_TitleOfIndividualAxis=srt_DirectorMember', window );">Director [Member] | Vest in June 2026 [Member] | Deferred Stock [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued', window );">Deferred stock awards amount (in Shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,760<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_TitleOfIndividualAxis=srt_DirectorMember', window );">Director [Member] | Vest in May 2023 [Member] | Deferred Stock [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued', window );">Deferred stock awards amount (in Shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,953<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_TitleOfIndividualAxis=srt_DirectorMember', window );">Director [Member] | Vesting in May 2025 [Member] | Deferred Stock [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued', window );">Deferred stock awards amount (in Shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,688<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=rgr_StockIncentivePlan2017Member', window );">Stock Incentive Plan 2017 [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Shares reserved for future 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="nump">750,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=rgr_StockIncentivePlan2023Member', window );">Stock Incentive Plan 2023 [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Compensation Plans [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Reserved shares for future issuance (in Shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares available for future grants (in Shares)</a></td>
<td class="nump">845,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_RecognizedCostsOfRestrictedStockUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 recognized costs of restricted stock units.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_RecognizedCostsOfRestrictedStockUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_rgr_UnrecognizedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized compensation cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_UnrecognizedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_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_DeferredCompensationArrangementWithIndividualCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The compensation expense recognized during the period pertaining to the deferred compensation 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 710<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483043/710-10-30-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-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_DeferredCompensationArrangementWithIndividualCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredCompensationArrangementWithIndividualSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 pursuant to the terms of a deferred compensation 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> -Topic 718<br> -SubTopic 10<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_DeferredCompensationArrangementWithIndividualSharesIssued</td>
</tr>
<tr>
<td style="padding-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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedStockExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 award of restricted stock or unit under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedStockExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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=rgr_DeferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=rgr_DeferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_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_VestingAxis=rgr_VestInJune2025Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_VestingAxis=rgr_VestInJune2025Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_VestingAxis=rgr_VestInJune2027Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_VestingAxis=rgr_VestInJune2027Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_VestingAxis=rgr_VestInJune2024Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_VestingAxis=rgr_VestInJune2024Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_VestingAxis=rgr_VestInJune2026Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_VestingAxis=rgr_VestInJune2026Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_VestingAxis=rgr_VestInMay2023Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_VestingAxis=rgr_VestInMay2023Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_VestingAxis=rgr_VestingInMay2025Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_VestingAxis=rgr_VestingInMay2025Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=rgr_StockIncentivePlan2017Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=rgr_StockIncentivePlan2017Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=rgr_StockIncentivePlan2023Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=rgr_StockIncentivePlan2023Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759776848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Segment Information (Details) - segments<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Operating Segment Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Reportable operating segments (in segments)</a></td>
<td class="nump">2<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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk [Member] | Lipsey&#8217;s [Member] | Revenue Benchmark [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Operating Segment Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of sales</a></td>
<td class="nump">28.00%<span></span>
</td>
<td class="nump">24.00%<span></span>
</td>
<td class="nump">23.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk [Member] | Sports South [Member] | Revenue Benchmark [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Operating Segment Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of sales</a></td>
<td class="nump">18.00%<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk [Member] | Davidson&#8217;s [Member] | Revenue Benchmark [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Operating Segment Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of sales</a></td>
<td class="nump">16.00%<span></span>
</td>
<td class="nump">19.00%<span></span>
</td>
<td class="nump">23.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk [Member] | United State [Member] | Revenue Benchmark [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Operating Segment Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of sales</a></td>
<td class="nump">94.00%<span></span>
</td>
<td class="nump">94.00%<span></span>
</td>
<td class="nump">94.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478785/954-310-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_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgr_LipseysMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgr_LipseysMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgr_SportsSouthMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgr_SportsSouthMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=rgr_DavidsonsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=rgr_DavidsonsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573752169376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Segment Information - Schedule of Operating Segment Financial Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Sep. 28, 2024</div></th>
<th class="th"><div>Jun. 29, 2024</div></th>
<th class="th"><div>Mar. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jul. 01, 2023</div></th>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Net Sales</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">$ 145,775<span></span>
</td>
<td class="nump">$ 122,287<span></span>
</td>
<td class="nump">$ 130,761<span></span>
</td>
<td class="nump">$ 136,820<span></span>
</td>
<td class="nump">$ 130,617<span></span>
</td>
<td class="nump">$ 120,893<span></span>
</td>
<td class="nump">$ 142,804<span></span>
</td>
<td class="nump">$ 149,453<span></span>
</td>
<td class="nump">$ 535,643<span></span>
</td>
<td class="nump">$ 543,767<span></span>
</td>
<td class="nump">$ 595,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_rgr_CostsOfGoodsSoldAbstract', window );"><strong>Costs of Goods Sold</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Costs of Goods Sold</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">421,228<span></span>
</td>
<td class="nump">410,148<span></span>
</td>
<td class="nump">415,757<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_GrossProfitLossAbstract', window );"><strong>Gross Profit (Loss)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit (Loss)</a></td>
<td class="nump">33,186<span></span>
</td>
<td class="nump">$ 22,672<span></span>
</td>
<td class="nump">$ 29,154<span></span>
</td>
<td class="nump">$ 29,403<span></span>
</td>
<td class="nump">32,257<span></span>
</td>
<td class="nump">$ 24,728<span></span>
</td>
<td class="nump">$ 38,148<span></span>
</td>
<td class="nump">$ 38,486<span></span>
</td>
<td class="nump">114,415<span></span>
</td>
<td class="nump">133,619<span></span>
</td>
<td class="nump">180,085<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLossAbstract', window );"><strong>Operating Income (Loss)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating Income (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,654<span></span>
</td>
<td class="nump">52,084<span></span>
</td>
<td class="nump">103,456<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract', window );"><strong>Income (Loss) Before Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (Loss) Before Income Taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">37,775<span></span>
</td>
<td class="nump">58,824<span></span>
</td>
<td class="nump">108,279<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsAbstract', window );"><strong>Identifiable Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Identifiable Assets</a></td>
<td class="nump">384,034<span></span>
</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">398,817<span></span>
</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">384,034<span></span>
</td>
<td class="nump">398,817<span></span>
</td>
<td class="nump">484,763<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract', window );"><strong>Goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">3,264<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,264<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,264<span></span>
</td>
<td class="nump">3,264<span></span>
</td>
<td class="nump">3,264<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAbstract', window );"><strong>Depreciation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">21,106<span></span>
</td>
<td class="nump">21,115<span></span>
</td>
<td class="nump">24,444<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Capital Expenditures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Capital Expenditures</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,821<span></span>
</td>
<td class="nump">15,796<span></span>
</td>
<td class="nump">27,773<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=rgr_FirearmsMember', window );">Firearms [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Net Sales</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">532,608<span></span>
</td>
<td class="nump">540,746<span></span>
</td>
<td class="nump">593,289<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_CostsOfGoodsSoldAbstract', window );"><strong>Costs of Goods Sold</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Costs of Goods Sold</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">417,222<span></span>
</td>
<td class="nump">407,068<span></span>
</td>
<td class="nump">410,507<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_GrossProfitLossAbstract', window );"><strong>Gross Profit (Loss)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">115,386<span></span>
</td>
<td class="nump">133,678<span></span>
</td>
<td class="nump">182,782<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLossAbstract', window );"><strong>Operating Income (Loss)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating Income (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33,273<span></span>
</td>
<td class="nump">52,887<span></span>
</td>
<td class="nump">106,803<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract', window );"><strong>Income (Loss) Before Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (Loss) Before Income Taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34,051<span></span>
</td>
<td class="nump">53,723<span></span>
</td>
<td class="nump">108,609<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsAbstract', window );"><strong>Identifiable Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Identifiable Assets</a></td>
<td class="nump">230,024<span></span>
</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">228,699<span></span>
</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">230,024<span></span>
</td>
<td class="nump">228,699<span></span>
</td>
<td class="nump">223,301<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract', window );"><strong>Goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">3,055<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,055<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,055<span></span>
</td>
<td class="nump">3,055<span></span>
</td>
<td class="nump">3,055<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAbstract', window );"><strong>Depreciation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,952<span></span>
</td>
<td class="nump">19,301<span></span>
</td>
<td class="nump">21,992<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Capital Expenditures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Capital Expenditures</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,488<span></span>
</td>
<td class="nump">15,395<span></span>
</td>
<td class="nump">26,598<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=rgr_CastingsUnaffiliatedMember', window );">Castings Unaffiliated [Member] | Castings [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_CastingsAbstract', window );"><strong>Castings</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net Sales for Castings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,035<span></span>
</td>
<td class="nump">3,021<span></span>
</td>
<td class="nump">2,553<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_CostsOfGoodsSoldAbstract', window );"><strong>Costs of Goods Sold</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Costs of Goods Sold</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,006<span></span>
</td>
<td class="nump">3,080<span></span>
</td>
<td class="nump">5,250<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=rgr_IntersegmentMember', window );">Intersegment [Member] | Castings [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_CastingsAbstract', window );"><strong>Castings</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net Sales for Castings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,528<span></span>
</td>
<td class="nump">33,086<span></span>
</td>
<td class="nump">21,306<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_CostsOfGoodsSoldAbstract', window );"><strong>Costs of Goods Sold</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Costs of Goods Sold</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,528<span></span>
</td>
<td class="nump">33,086<span></span>
</td>
<td class="nump">21,306<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=rgr_CastingsMember', window );">Castings [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_CastingsAbstract', window );"><strong>Castings</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net Sales for Castings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34,563<span></span>
</td>
<td class="nump">36,107<span></span>
</td>
<td class="nump">23,859<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_CostsOfGoodsSoldAbstract', window );"><strong>Costs of Goods Sold</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Costs of Goods Sold</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,534<span></span>
</td>
<td class="nump">36,166<span></span>
</td>
<td class="nump">26,556<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_GrossProfitLossAbstract', window );"><strong>Gross Profit (Loss)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(971)<span></span>
</td>
<td class="num">(59)<span></span>
</td>
<td class="num">(2,697)<span></span>
</td>
</tr>
<tr class="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>Operating Income (Loss)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating Income (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,619)<span></span>
</td>
<td class="num">(803)<span></span>
</td>
<td class="num">(3,347)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract', window );"><strong>Income (Loss) Before Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (Loss) Before Income Taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">(1,616)<span></span>
</td>
<td class="num">(799)<span></span>
</td>
<td class="num">(3,338)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsAbstract', window );"><strong>Identifiable Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Identifiable Assets</a></td>
<td class="nump">9,303<span></span>
</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">11,144<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,303<span></span>
</td>
<td class="nump">11,144<span></span>
</td>
<td class="nump">11,910<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract', window );"><strong>Goodwill</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">209<span></span>
</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">209<span></span>
</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">209<span></span>
</td>
<td class="nump">209<span></span>
</td>
<td class="nump">209<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAbstract', window );"><strong>Depreciation</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,154<span></span>
</td>
<td class="nump">1,814<span></span>
</td>
<td class="nump">2,452<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Capital Expenditures</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets', window );">Capital Expenditures</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">333<span></span>
</td>
<td class="nump">401<span></span>
</td>
<td class="nump">1,175<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=rgr_EliminationsMember', window );">Eliminations [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Net Sales</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(31,528)<span></span>
</td>
<td class="num">(33,086)<span></span>
</td>
<td class="num">(21,306)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_CostsOfGoodsSoldAbstract', window );"><strong>Costs of Goods Sold</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Costs of Goods Sold</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(31,528)<span></span>
</td>
<td class="num">(33,086)<span></span>
</td>
<td class="num">(21,306)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=rgr_CorporatesMember', window );">Corporates [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract', window );"><strong>Income (Loss) Before Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (Loss) Before Income Taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">5,340<span></span>
</td>
<td class="nump">5,900<span></span>
</td>
<td class="nump">3,008<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsAbstract', window );"><strong>Identifiable Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Identifiable Assets</a></td>
<td class="nump">$ 144,707<span></span>
</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">$ 158,974<span></span>
</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">$ 144,707<span></span>
</td>
<td class="nump">$ 158,974<span></span>
</td>
<td class="nump">$ 249,552<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_CastingsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_CastingsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_CostsOfGoodsSoldAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_CostsOfGoodsSoldAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_GrossProfitLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_GrossProfitLossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_IntangibleAssetsNetExcludingGoodwillAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_OtherAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including 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_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentExpenditureAdditionToLongLivedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenditure for addition to long-lived assets included in determination of segment assets by chief operating decision maker (CODM) or otherwise regularly provided to CODM. Excludes expenditure for addition to financial instrument, long-term customer relationship of financial institution, mortgage and other servicing rights, deferred policy acquisition cost, and deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentExpenditureAdditionToLongLivedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_FirearmsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_FirearmsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_CastingsUnaffiliatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_CastingsUnaffiliatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgr_CastingsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgr_CastingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_IntersegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_IntersegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_CastingsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_CastingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_EliminationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_EliminationsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=rgr_CorporatesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=rgr_CorporatesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573751856832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Quarterly Results of Operations (Unaudited) - Schedule of Quarterly Financial Information (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Sep. 28, 2024</div></th>
<th class="th"><div>Jun. 29, 2024</div></th>
<th class="th"><div>Mar. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jul. 01, 2023</div></th>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ScheduleOfQuarterlyFinancialInformationAbstract', window );"><strong>Schedule of Quarterly Financial Information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net Sales</a></td>
<td class="nump">$ 145,775<span></span>
</td>
<td class="nump">$ 122,287<span></span>
</td>
<td class="nump">$ 130,761<span></span>
</td>
<td class="nump">$ 136,820<span></span>
</td>
<td class="nump">$ 130,617<span></span>
</td>
<td class="nump">$ 120,893<span></span>
</td>
<td class="nump">$ 142,804<span></span>
</td>
<td class="nump">$ 149,453<span></span>
</td>
<td class="nump">$ 535,643<span></span>
</td>
<td class="nump">$ 543,767<span></span>
</td>
<td class="nump">$ 595,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_GrossProfit', window );">Gross profit</a></td>
<td class="nump">33,186<span></span>
</td>
<td class="nump">22,672<span></span>
</td>
<td class="nump">29,154<span></span>
</td>
<td class="nump">29,403<span></span>
</td>
<td class="nump">32,257<span></span>
</td>
<td class="nump">24,728<span></span>
</td>
<td class="nump">38,148<span></span>
</td>
<td class="nump">38,486<span></span>
</td>
<td class="nump">114,415<span></span>
</td>
<td class="nump">133,619<span></span>
</td>
<td class="nump">180,085<span></span>
</td>
</tr>
<tr class="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">$ 10,477<span></span>
</td>
<td class="nump">$ 4,738<span></span>
</td>
<td class="nump">$ 8,264<span></span>
</td>
<td class="nump">$ 7,084<span></span>
</td>
<td class="nump">$ 10,249<span></span>
</td>
<td class="nump">$ 7,431<span></span>
</td>
<td class="nump">$ 16,185<span></span>
</td>
<td class="nump">$ 14,350<span></span>
</td>
<td class="nump">$ 30,563<span></span>
</td>
<td class="nump">$ 48,215<span></span>
</td>
<td class="nump">$ 88,332<span></span>
</td>
</tr>
<tr class="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 earnings per share (in Dollars per share)</a></td>
<td class="nump">$ 0.63<span></span>
</td>
<td class="nump">$ 0.28<span></span>
</td>
<td class="nump">$ 0.48<span></span>
</td>
<td class="nump">$ 0.41<span></span>
</td>
<td class="nump">$ 0.58<span></span>
</td>
<td class="nump">$ 0.42<span></span>
</td>
<td class="nump">$ 0.91<span></span>
</td>
<td class="nump">$ 0.81<span></span>
</td>
<td class="nump">$ 1.79<span></span>
</td>
<td class="nump">$ 2.73<span></span>
</td>
<td class="nump">$ 5<span></span>
</td>
</tr>
<tr class="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 earnings per share (in Dollars per share)</a></td>
<td class="nump">$ 0.62<span></span>
</td>
<td class="nump">$ 0.28<span></span>
</td>
<td class="nump">$ 0.47<span></span>
</td>
<td class="nump">$ 0.4<span></span>
</td>
<td class="nump">$ 0.58<span></span>
</td>
<td class="nump">$ 0.42<span></span>
</td>
<td class="nump">$ 0.91<span></span>
</td>
<td class="nump">$ 0.81<span></span>
</td>
<td class="nump">$ 1.77<span></span>
</td>
<td class="nump">$ 2.71<span></span>
</td>
<td class="nump">$ 4.96<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ScheduleOfQuarterlyFinancialInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_ScheduleOfQuarterlyFinancialInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759256912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=rgr_NationalRifleAssociationMember', window );">National Rifle Association [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Amount paid</a></td>
<td class="nump">$ 0.5<span></span>
</td>
<td class="nump">$ 0.5<span></span>
</td>
<td class="nump">$ 0.7<span></span>
</td>
</tr>
<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_RelatedPartyTransactionAxis=rgr_NationalShootingSportsFoundationMember', window );">National Shooting Sports Foundation [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transactions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Amount paid</a></td>
<td class="nump">$ 0.4<span></span>
</td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="nump">$ 0.3<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_RelatedPartyTransactionAmountsOfTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transactions with related party during the financial 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 850<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/2147483326/850-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-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_RelatedPartyTransactionAmountsOfTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RelatedPartyTransactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=rgr_NationalRifleAssociationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionAxis=rgr_NationalRifleAssociationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionAxis=rgr_NationalShootingSportsFoundationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RelatedPartyTransactionAxis=rgr_NationalShootingSportsFoundationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573758194880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Contingent Liabilities (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingent Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis', window );">Minimum limit of per claim for providing insurance coverage on annual basis (in Dollars)</a></td>
<td class="nump">$ 5.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>
</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_rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities', window );">Maximum limit of aggregate loss incurred annually for providing insurance coverage on annual basis (in Dollars)</a></td>
<td class="nump">$ 10.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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyDamagesSoughtValue', window );">Total amount of damages claimed (in Dollars)</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">$ 1.1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyNewClaimsFiledNumber', window );">Number of lawsuits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyClaimsSettledNumber', window );">Number of lawsuits resolved</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rgr_LossContingencyNumberOfLawsuits', window );">Number of lawsuits involving its products</a></td>
<td class="nump">8<span></span>
</td>
<td class="nump">7<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductLiabilityAccrualPeriodExpense', window );">Product liability expense (in Dollars)</a></td>
<td class="nump">$ 0.7<span></span>
</td>
<td class="nump">$ 1.5<span></span>
</td>
<td class="nump">$ 1.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued', window );">Product liability expense years</a></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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_TrademarkLitigationMember', window );">Trademark Litigation [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_LossContingenciesLineItems', window );"><strong>Contingent Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyNewClaimsFiledNumber', window );">Number of lawsuits</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_TrademarkLawsuitMember', window );">Trademark Lawsuit [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_LossContingenciesLineItems', window );"><strong>Contingent Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyNewClaimsFiledNumber', window );">Number of lawsuits</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_TraditionalProductLiabilityLawsuitMember', window );">Traditional Product Liability Lawsuit [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_LossContingenciesLineItems', window );"><strong>Contingent Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyNewClaimsFiledNumber', window );">Number of lawsuits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyClaimsSettledNumber', window );">Number of lawsuits resolved</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_MunicipalLawsuitMember', window );">Municipal Lawsuit [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_LossContingenciesLineItems', window );"><strong>Contingent Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyNewClaimsFiledNumber', window );">Number of lawsuits</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">4<span></span>
</td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyClaimsDismissedNumber', window );">Number of lawsuit dismissed</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=rgr_UnfairTradePracticesMember', window );">Unfair Trade Practices [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_LossContingenciesLineItems', window );"><strong>Contingent Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyNewClaimsFiledNumber', window );">Number of lawsuits</a></td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<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_LossContingenciesByNatureOfContingencyAxis=rgr_NegligenceLawsuitMember', window );">Negligence Lawsuit [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_LossContingenciesLineItems', window );"><strong>Contingent Liabilities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyNewClaimsFiledNumber', window );">Number of lawsuits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">3<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_rgr_LossContingencyNumberOfLawsuits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Loss contingency, number of lawsuits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_LossContingencyNumberOfLawsuits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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_rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 maximum limit of aggregate loss incurred annually for providing insurance coverage on annual basis excluding for certain new claims from governments or municipalities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 minimum limit of per claim for providing insurance coverage on annual basis.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LossContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 720<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483359/720-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 27<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482395/460-10-55-27<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-4<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingencyClaimsDismissedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 claims dismissed.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyClaimsDismissedNumber</td>
</tr>
<tr>
<td style="padding-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_LossContingencyClaimsSettledNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 claims settled.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyClaimsSettledNumber</td>
</tr>
<tr>
<td style="padding-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_LossContingencyDamagesSoughtValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The value (monetary amount) of the award the plaintiff seeks in the legal matter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyDamagesSoughtValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LossContingencyNewClaimsFiledNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The total number of new claims filed pertaining to a loss contingency during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyNewClaimsFiledNumber</td>
</tr>
<tr>
<td style="padding-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_ProductLiabilityAccrualPeriodExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 loss reported during the period pertaining to product liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductLiabilityAccrualPeriodExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period of disbursement over which accrued amount may be paid out for damage to product, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.Y.Q2)<br> -SubTopic 20<br> -Topic 450<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480102/450-20-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_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued</td>
</tr>
<tr>
<td style="padding-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_LossContingenciesByNatureOfContingencyAxis=rgr_TrademarkLitigationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LossContingenciesByNatureOfContingencyAxis=rgr_TrademarkLitigationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LossContingenciesByNatureOfContingencyAxis=rgr_TrademarkLawsuitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LossContingenciesByNatureOfContingencyAxis=rgr_TrademarkLawsuitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LossContingenciesByNatureOfContingencyAxis=rgr_TraditionalProductLiabilityLawsuitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LossContingenciesByNatureOfContingencyAxis=rgr_TraditionalProductLiabilityLawsuitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LossContingenciesByNatureOfContingencyAxis=rgr_MunicipalLawsuitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LossContingenciesByNatureOfContingencyAxis=rgr_MunicipalLawsuitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LossContingenciesByNatureOfContingencyAxis=rgr_UnfairTradePracticesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LossContingenciesByNatureOfContingencyAxis=rgr_UnfairTradePracticesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LossContingenciesByNatureOfContingencyAxis=rgr_NegligenceLawsuitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LossContingenciesByNatureOfContingencyAxis=rgr_NegligenceLawsuitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759831264">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Contingent Liabilities - Schedule of Roll-forward for Product Liability Reserve (Details) - Product Liability Reserve Member [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></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_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance Beginning of Year</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 679<span></span>
</td>
<td class="nump">$ 308<span></span>
</td>
<td class="nump">$ 892<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Accrued Legal Expense (Income)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">67<span></span>
</td>
<td class="nump">500<span></span>
</td>
<td class="num">(417)<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_rgr_ValuationAllowancesAndReservesLegalFees', window );">Legal Fees</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="num">(254)<span></span>
</td>
<td class="num">(129)<span></span>
</td>
<td class="num">(167)<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_rgr_ValuationAllowancesAndReservesSettlements', window );">Settlements</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[4]</sup></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance End of Year</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 492<span></span>
</td>
<td class="nump">$ 679<span></span>
</td>
<td class="nump">$ 308<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">The beginning and ending liability balances represent accrued legal fees only. Settlements and administrative
costs are expensed as incurred. Only in rare instances is an accrual established for settlements.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">The expense accrued in the liability is for legal fees only. In 2022, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[3]</td>
<td style="vertical-align: top;" valign="top">Legal fees represent payments to outside counsel related to product liability matters.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[4]</td>
<td style="vertical-align: top;" valign="top">Settlements represent payments made to plaintiffs or allegedly injured parties in exchange for a full
and complete release of liability.</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_ValuationAllowancesAndReservesLegalFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 legal fees.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_ValuationAllowancesAndReservesLegalFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_rgr_ValuationAllowancesAndReservesSettlements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 settlements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_ValuationAllowancesAndReservesSettlements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductWarrantyLiabilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyLiabilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column E))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgr_ProductLiabilityReserveMemberMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgr_ProductLiabilityReserveMemberMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573759865424">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Contingent Liabilities - Schedule of Product Liability Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgr_AccruedLegalExpenseMember', window );">Accrued Legal Expense [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductLiabilityContingencyLineItems', window );"><strong>Product Liability Contingency [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Accrued Legal Expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 67<span></span>
</td>
<td class="nump">$ 500<span></span>
</td>
<td class="num">$ (417)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgr_InsurancePremiumExpenseMember', window );">Insurance Premium Expense [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductLiabilityContingencyLineItems', window );"><strong>Product Liability Contingency [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductLiabilityAccrualPeriodExpense', window );">Insurance Premium Expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">908<span></span>
</td>
<td class="nump">1,226<span></span>
</td>
<td class="nump">1,524<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=rgr_TotalProductLiabilityExpenseMember', window );">Total Product Liability Expense [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductLiabilityContingencyLineItems', window );"><strong>Product Liability Contingency [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductLiabilityAccrualComponentAmount', window );">Total Product Liability Expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 975<span></span>
</td>
<td class="nump">$ 1,726<span></span>
</td>
<td class="nump">$ 1,107<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">The expense accrued in the liability is for legal fees only. In 2022, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">Insurance expense represents the cost of insurance premiums.</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductLiabilityAccrualComponentAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Recorded amount of the accrual for a material component of a product liability contingency.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.Y.Q2)<br> -SubTopic 20<br> -Topic 450<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480102/450-20-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_ProductLiabilityAccrualComponentAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductLiabilityAccrualPeriodExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 loss reported during the period pertaining to product liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductLiabilityAccrualPeriodExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductLiabilityContingencyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.Y.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480102/450-20-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-4<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductLiabilityContingencyLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgr_AccruedLegalExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgr_AccruedLegalExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgr_InsurancePremiumExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgr_InsurancePremiumExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=rgr_TotalProductLiabilityExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=rgr_TotalProductLiabilityExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46573763816960">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Subsequent Events (Details) - Subsequent Event [Member]<br></strong></div></th>
<th class="th">
<div>Feb. 14, 2025 </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_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableAmountPerShare', window );">Dividend authorized</a></td>
<td class="nump">$ 0.24<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_rgr_DateOfRecord', window );">Date of record</a></td>
<td class="text">Mar. 14,  2025<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rgr_DateOfRecord">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date of record.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">rgr_DateOfRecord</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rgr_</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableAmountPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The per share amount of a dividend declared, but not paid, as of the financial reporting date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableAmountPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>97
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
MI!;3 Z1U?>3SHV$$OA_,$W#@2ZR2(V_4+$\JTKNQR5*V";3-G)MWDV#1"\"
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
MPE6-MQ+#4$=L,OM(SU$\G>#OVS<GR23Y%%P_!?N.+-^S=[-1?#+#P6-3O!_
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
MY#6[SI)9B6+T&Q)K?_&@*U+E"2VN!V'*"G)W#@M/2, 6L +')33DBN:3'*E
M2K0F@QJ-JH>^HL6D.'D0H4(;0C/8X( 239!2;0^!%.7SY*4O-#VCE0[,+I"G
MQ=[OE1L89MP=^?EVH*4?[@.Y/W"S$\H2"5L,S2;5-"9F(,Q!<;H/)+71#BDO
MB"W^8\!X![1OM78GQ1\P_K66?P%02P,$%     @ 28A36HZVS]ZP P  ^0@
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
M\:P@Y)@8R\#H]X+7R+DE(AE_6DZG3VD#C\<=^UWMG;QLF,9KR7\6J<D73N1
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
MYLT,.=1\I\V3K1$=/#=2V454.]=>)XDM:VR8C76+BG8J;1KF:&HVB6T-,AY
MC4SR-+U(&B94M)R'M0>SG.O.2:'PP8#MFH:9_0JEWBVB+#HN/(I-[?Q"LIRW
M;(-?T'UM'PS-DH&%BP:5%5J!P6H1W6;7J\+;!X._!.[L: P^DK763W[RB2^B
MU M"B:7S#(S^MGB'4GHBDO'MP!D-+CUP/#ZR?PRQ4RQK9O%.R[\%=_4BNHJ
M8\4ZZ1[U[@\\Q//>\Y5:VO +N]YV5D10=M;IY@ F!8U0_3][/N1A!+A*3P#R
M R /NGM'0>4'YMAR;O0.C+<F-C\(H08TB1/*%^6+,[0K".>6]TTK]1X15JBP
M$@X>)%-VGCCB]A9)>>!9]3SY"9XLA\]:N=K"O>+(OR=(2-2@+#\J6^5G&3]@
M&<,LFT*>YL49OMD0Z2SPS7XJ4OCG=FV=H</Q[VM!]Y3%ZY3^PES;EI6XB.A&
M6#1;C);OWF07Z<T9P<4@N#C'_A.E.<^393&<"/[/&N%.-RU3>["M5E8;"PR^
M=4R*2B#WYYO8^&\EU=:(=>=OTJ1(LU^>?H66*,#5S$&IMTA VU$JF7*"2;D'
M^@%=@7 6\.#=QO"53H<A%()#TUAOX2<CRFE8.*JB>T=]R(LJT3AJ,M!J$U00
M\L@+8WD6G/84PH!07&P%IVB.#EA9ZDZ1I,X*M0F>WKVYRO/TQK(*H69FK4U8
MR6Y@TPF./IL66J.)B!(B5 !]4B1?,3EYQ"VJSNOE2&E^IF9IR=Z@9([,24J(
MP#L[JW:< =BA07A;Q!G=>"G):NIGER\SIOAW^Q.2Y:])N"RS?I]&^92$V!9#
MYY/[&&XY%]ZK+] 43H#&^9\,@7-A2X,!;.BP=&TKD9JSH]R^&L^9W%/E_G]4
M1F?DGI7U2[8,EDCR^82=]OI2\H.3T*DY^+8/G1+^\8(63>FA&_0*^C.^]X4I
M*58J&PM,2+K64E!'Y901U7F!<;@HI;:.D!-R9/%\!FB-X&\OXW14P8OX]Q\J
M>!D7QY53Q?BA@J^UE634_1LTF_#&60AYZ!^"875X1F_[U^/%O'^#/S.S$12!
MQ(J@:7SY/@+3OVO]Q.DVO"5K[>AE"L.:/@70> /:K[1VQXEW,'Q<+/\#4$L#
M!!0    ( $F(4UH3A/P65 (  '(%   9    >&PO=V]R:W-H965T<R]S:&5E
M=#(P+GAM;)54WT_;,!!^YZ\XA8DGU"1.8:RTD2CL!P\,!-JF:=J#FUR:"/_(
M;)>R_WYG)PV=5"KQ$,?GN_ON.]N?IVMM'FV-Z.!9"F5G4>U<.XEC6]0HN1WI
M%A5Y*FTD=V2:96Q;@[P,25+$+$E.8\D;%>73L'9G\JE>.=$HO#-@5U)R\W>.
M0J]G41IM%NZ;9>W\0IQ/6[[$!W3?VCM#5CR@E(U$91NMP& UBR[2R7SLXT/
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
M%]@EJW7'BWYF#0/(,,\*C8J&@<M='XP^8'@II;5  ,+I]$K!?GJY[A!A48"
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
M"EQ\:0'>+S2N(>,#&=A^W+OZ'U!+ P04    " !)B%-:E>FGN%4#  #(!P
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
M]GL79Q&8IA$V RZ;T'R6Y+B5A<^<_QW0^ V\GA&Y_< [:/]&)O\!4$L#!!0
M   ( $F(4UI(#NV4/P,  /<-   9    >&PO=V]R:W-H965T<R]S:&5E=#,Q
M+GAM;*V7_7.:,!C'_Y4<Z^W:NTW>$9UR5ZM6K=UY==U^IA"5*R0LB=K^]TL
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
M=/+BS.A[8?AI2.,?WE2_&^!4P5[Y[ Q6%?:YB_>[%1E+<664VXD;9>_$)UG
M'V#>"5DD D]+1YN=^*!LG&E;&3J;.:AF ;.X5G,9U"SWJ%DLQ2==N-2*CT5"
MR5# #)A;X,L&^.5R5.('BH_$B\54+.?+ER/R7K1$O/#R7OP>(J8M"U//R<]Z
M2Z:014SBE[]!D+ARE-M_/\5+T/KR::V<<V]M*6,ZGR"I+)DM32Z>/UL<ST]'
M;'K9VO1R3/H!YUX;'9.U9 626[SC7U85FZFX2K"LUCM_P>;Z3;@2MRDRWUGQ
MRRU]<>(RT_'=DT:/P_) \D&41;:)LMN4Q'N=E[+81:FTHAR@E!U*]1!EWJ!$
MKI)1,A,&BK#/Z%S$ RI<L..(M5GJZ9"&A"H A-$D_%-'KD/T_-GKY>+DU KV
MO\R"AKXI=F<Y$@ H/&.)"K%BA8]E7&II$J'72"R#&J4-MI5&H3BJS$/4U285
M"G0S8='?61S7&!:4*^>(GL"?60W4<58EU !@2IB?'F$'F6&B=:P\"??*I=Z
MRE($N"Y5)OE+*0T>YXA5L4>PA7P3*&U,%;$NDBJ&N%9^<"!S9=GTF(Q#ZQC(
M;&6)%<'G)*C8] L2HB(BZ^0J4ZA[\+LN%-ACLSP1"2J4!0F>.EI#A!-.HW@Z
MM8%!M>V&,F\=5A(43K&"W6AY0&6$AK6FPPP^/7>\IA!ATK$N)B_RN 7C5O3
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
MLQ^55:#WI91F*U@'[=\D^0-02P,$%     @ 28A36B8S28QU @  D@4  !D
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
M<88%TY>R1$$WJ50%,V2JG:M+A2RI@PKN!IXW<0N6"R=:U&<;%2UD97@N<*-
M5T7!U,L:N=PO'=_I#N[S76;L@1LM2K;#!S3?RHTBR^U1DKQ H7,I0&&Z=%;^
M?#VR_K7#]QSW^F@/-I.ME$_6^)HL'<\*0HZQL0B,EF>\1LXM$,GXW6(Z/:4-
M/-YWZ+=U[I3+EFF\EOQ'GIALZ<P<2#!E%3?W<O\%VWS&%B^67-=?V#>^XXD#
M<:6-+-I@4E#DHEG9H:W#4<#,>R,@: ."6G=#5*N\889%"R7WH*PWH=E-G6H=
M3>)R81_EP2BZS2G.1(^*)0BK.):5,!HV[(5M.0(3B3U4%2;P^4!_@$8-'Q[M
MG?ZX< TQVW@W;EG6#4OP!HL?P)T4)M/P6228_ W@DN1>=]#I7@=G$6\POH30
M'T+@!:,S>&%?A[#&"_]#'7ZNMMHH^I]^G:I$PS,ZS6-[;*Y+%N/2H2;2J)[1
MB=Z_\R?>IS-9C/HL1N?0HP?JV:0BW3*%?\CH5!IGB4ZGT3"RCK$\8F0M(W8U
MC"7UM38#$FHRA%1R&@^YV,T']+)8;%'UKVL_X> -\ OPPZ$_]>S&'_J>-[C%
M!!7C1!7G&L&P [ZZ6^>KP+I>C4>#K@Z2)"BX&H:S&<R&$[JY@' \G(XM+,F8
M>C,X]3KN4=\5J';U=+&YD<2F!?O3?H"MFKY]=6^FWQU3NUQHX)A2J'<Y'3N@
MFHG2&$:6=1=OI:&94&\S&L*HK /=IU*:SK $_5B/_@!02P,$%     @ 28A3
M6H".DL]@ @  9P4  !D   !X;"]W;W)K<VAE971S+W-H965T-#(N>&ULG53?
M3]LP$'[GKSB9"6T2(FE:&"IM) H;XX&!8#\T37MPDTMCX1^9[5+VW^_LI*&3
M2A_V$.=LWWWWG>WO)BMC'UV-Z.%92>VFK/:^&2>)*VI4W!V9!C7M5,8J[FEJ
M%XEK+/(R!BF99&EZDB@N-,LG<>W.YA.S]%)HO+/@EDIQ^V>&TJRF;,#6"_=B
M4?NPD.23AB_P ?W7YL[2+.E12J%0.V$T6*RF['PPGHV"?W3X)G#E-FP(E<R-
M>0R3ZW+*TD ()18^('#Z/>$%2AF B,;O#I/U*4/@IKU&_QAKIUKFW.&%D=]%
MZ>LI.V508L67TM^;U2?LZCD.>(61+HZP:GU'*8-BZ;Q173 Q4$*W?_[<G<-&
MP.EK 5D7D$7>;:+(\I)[GD^L68$-WH06C%AJC"9R0H=+>?"6=@7%^?S6UVCA
MMD'+O= +N-:%47@(G^D]O/W"YQ+=NTGB*5/P3XH.==:B9J^@#C*X,=K7#C[H
M$LM_ 1*BV//,UCQGV4[$2RR.8#@XA"S-1COPAGW=PX@W_(^Z?Y[/G;?T7GYM
MJ[S%'6W'#1H:NX87.&4D$H?V"5E^L#\X2<]VL![UK$>[T/,'TF2YE BF@AT5
M;*.]$W@[[3:#Z3.(+H.F,RH,Z=)Y%YB0&U1&DK[):[SW [D%#/<.=&NHY@2R
MOKDP#,.0[5U1QP#2I>-M/2]YN'-(R&_@8/\T&V1G9!W3-SR!;4>8;#Q^A781
M)>Z(X%+[5@?]:M]%SEOQO+BW+>B&VX70#B16%)H>O3]F8%M9MQ-OFBBEN?$D
MS&C6U G1!@?:KXSQZTE(T/?6_"]02P,$%     @ 28A36K<<<@*6!   (0L
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
MH'5;<ZCZ1&5D?2$=P%>C<@20>.J$06KL(VS0GFL>VRU=<0,C< 65TW3LYN$
MK0,C5@9W!%I4/8,H=2+?-^PT'Z"UI 7KRF-U@XGIJBVOF[--90B9B:6CXLS)
M<33HP@.T]&%BFKJCJN!A&CIYDALBA!CP]Q,!!5,FII%TRP,[B!,G-M4*W ,V
M(V'TC T?_7 D=*F6="N'1YNA)')"V ;OOILD SS1<I$U,<N/NBY!00 MXQLG
ML3_ 0\^EQST7HABF#ZN"A+GB&VA-&6\Z+L5.%F)E$+G9""WSG@F<P ^=.,&F
MP- I1SN^@W/?\:$E3KW>O<E'N*5\HZ\:ZGW8=])\C_>[^]O,I?F('^CF*@3M
MM*D[@1JZ!E/?36,;<7.],$"RK?ZDKYB$"X)>5G CHUP1X'S-F!R!"K"_XRW^
M U!+ P04    " !)B%-:ZH#+\MX$  # "@  &0   'AL+W=O<FMS:&5E=',O
M<VAE970T-BYX;6R=5EMOVS84?M>O(-2A2  BYE64TL1 +FT78%V#IMTP#'N@
M+=H6*HD>2=?)O]\A93MVEP3='BR1%,]WON]<:)ZMK?OJ%\8$=-^UO3_/%R$L
M3T<C/UV83OL3NS0]?)E9U^D 4S<?^:4SNDY&73MBA!2C3C=]/CY+:[=N?&97
MH6UZ<^N07W6==@^7IK7K\YSFVX5/S7P1XL)H?+;4<W-GPI?EK8/9:(=2-YWI
M?6-[Y,SL/+^@IY<B[D\;?FO,VN^-450RL?9KG-S4YSF)A$QKIB$B:'A],U>F
M;2,0T/A[@YGO7$;#_?$6_5W2#EHFVILKV_[>U&%QGI<YJLU,K]KPR:Y_-AL]
M,N)-;>O3$ZV'O9+E:+KRP78;8V#0-?WPUO>;..P9E.09 [8Q8(GWX"BQO-9!
MC\^<72,7=P-:'"2IR1K(-7U,REUP\+4!NS#^N#1.AZ:?HSLSAV '=-,/J8XQ
M._JL)ZWQQV>C +ZBQ6BZP;T<<-DSN)2A#[8/"X_>]K6I#P%&0'+'E&V97K(7
M$:_-] 1QBA$C3+R QW?*><+C_TOYGQ<3'QS4S%]/:1^0Q=/(L8]._5)/S7D.
MC>*-^V;R\>M7M"!O7N M=KS%2^CC.^C+>M4:9&?HWQK>-;WNIXUN]]4\)>%%
M)T]+^+PPZ,IV2]T_O'Y5,JK>>'3U\?H# A:-K9NI;ML'Z-1OL770U/H0.<ZM
MK3WRMJW1Y 'Y#4_=URC *1(\:F#FD4:^F??-#%#@\W:;N8?3QYN3[ ^C'3*Q
ME! 4@NDFQNV*(3YX?+#L5SC&[C24;/:N 737>?03DISA@I1Q) A6HHBCBF-6
M5MF5]C%^/OO2Z]FL:1L=P 7'A,OX9!0Q+"7/;OI@W)85.):L1!PVE 5B%'-2
M9%Q@67#$"TR)0HSC4E;9V[:!IDU)\.AH8W<,H\$41H,U.LXB3XD+P1-/CE6A
M$D^)2\&R*XBFC^%\G\)Y!^'<ERBHPHRQ."(*DZ),:P1+HIZ1*# <VU%B29#$
M3)(?D2BQY"))+&"Q@,@4_TVB@#%C6W94#".)E539>V>]1[?.SJ BCGZ!R?&^
M1 K;>!ES1P&Z4-&4E@RKDNTDHJ-*T>A25LDQ+BJ5_%(J,/C9&M,J&1-@*+/'
M)KKII[8S3_@&&Z928A@NRY@72@I<$K[GF298\ K+23_F8G .,2FD&*Q)*9(U
MQP)B=^ 071KH6+-E\5G?'Y8Q%!B1--4S5HPGF!(*N_J.1(JYJJH-"0[9@/)Q
M2PLJ#>2:BYCQBI"8?5)&@@HK%8,C2UPRL4%FJOK1MKNIH6:@=^._!;KPWH0#
MYHQ#I!,NY!YR4J41<"/TD7L%4PZ)@JH0\551LD<;%K&"OJ) L5+@6U10?2R2
M+R$N/(+S"NC3F!T!:ZK@66R6==.V!V&$*,KOWX\T&*FVOPB.69&@]]_9M8%#
M$0[96/,')5KA2K)A -JB2M!1[=4GJ(-*H$ 3)$ )1 &P!ZIIV$Q3C3(H5B'
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
MPB$MKP6G2@^W80XQA[W^.FAJ\#NF!&II^:"*,)WS#PINI*NN[,R;![XM/SH
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
MP:U <I7G6#R-@?+-T&MZVX4IF2^46?!'@R6>PQVH^^6MT#._9$E)#DP2SI"
M;.A=-_MQS]A;@^\$-G)GC(R2&></9O(U'7J!"0@H),HP8/VWA@E0:HAT&+\+
M3J]T:8"[XRW[9ZM=:YEA"1-.?Y!4+89>ST,I9'A%U91OOD"AIVWX$DZE_46;
MPC;P4+*2BN<%6$>0$^;^\6.1AQU LW, $!: <!\0'0"T"D#K6$!4 "*;&2?%
MYB'&"H\&@F^0,-::S0QL,BU:RR?,E/U."?V5:)P:36$-; 5H"@F?,^)JP5(T
MX4P)712IXU$+-+&1@)#H,@:%"97OT =T?Q>CRXMWZ (1AFX(I1HM![[2<1EV
M/REB&+L8P@,Q-$-TH]TM)/K$4DB?$_A:4*DJW*H:A[6,,20-U&J^1V$0MBH"
MFAP/#RO@\?'PJ$9-JZQ1R_*USE6CG]<S:;_\JBJ&<Q95.S/73%\N<0)#3]\C
M$L0:O-';-\U.\+$JD><DB\]$]BS)49GDJ(Z]3+))K'")_K._%UW^'$_/\IA;
M=3V*&LV!O]Y-2ZVO4]/RTF&PX_"9VG:IMEVK]IM^4 A+]$,AP1S>C.BAR"62
MF$+E$79\5\^"N-I37>OS5-55#@^H[I2J.[6J8\A "$A14IP<76E7=4KPC%"B
MGJJD=VHC<=*=37O'9L\BK@VM.CFH9E]W2\W=XS3S;*NV2F/WQ1YK-<(]C<ZF
M4Z.Q-I3_/,"]4FCOU2V=PBE;NI;OU(NP]^H&.),[EQQ_Y\G7=_[<MDY2;^P5
M4^Z=+%?+[NS:-B5[Z^-F?^*:K'\TKN6[P6).F$04,DT9-+I:G'!ME)LHOK2-
MQ8PK_?#8X4)WGB",@?Z><:ZV$^.@[&5'?P%02P,$%     @ 28A36B6Q>.+[
M @  [ D  !D   !X;"]W;W)K<VAE971S+W-H965T-3$N>&ULK59=;]HP%/TK
M5E9-G;0V(0G0=1"I)9NVATH5K-O#M >37(C5Q&:V@6Z_?M=.R/@(*97Z K9S
MS_$]QU]WL!;R464 FCP5.5=#)]-Z<>VZ*LF@H.I2+(#CEYF0!=78E7-7+230
MU(**W/4]K^<6E'$G&MBQ>QD-Q%+GC,.])&I9%%3^N85<K(=.Q]D,C-D\TV;
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
M4*<8< U0[W/&Y.M$-\K^7$Q^ U!+ P04    " !)B%-:]+:EQ-8"  !)"
M&0   'AL+W=O<FMS:&5E=',O<VAE970U-"YX;6RMEEUOVC 4AO^*E553*ZW-
M=P@,(JT@NDKM5I5UNS;) :PZ=F8;:/_]["2-*+BT%[LA=GS>U\\YMF.&6RX>
MY0I H:>2,CER5DI5 ]>5^0I*+"]X!4R/++@HL=)=L71E)0 7M:BD;N!YB5MB
MPIQL6+^[$]F0KQ4E#.X$DNNRQ.+Y$BC?CAS?>7EQ3Y8K95ZXV;#"2YB!>JCN
MA.ZYG4M!2F"2<(8$+$;.-W\P3DU\'?";P%;NM)')9,[YH^E<%R/',T! (5?&
M >O'!L9 J3'2&'];3Z>;T@AWVR_NTSIWG<L<2QAS^H<4:C5R4@<5L,!KJN[Y
M]CNT^<3&+^=4UK]HV\3V0@?E:ZEXV8HU04E8\\1/;1UV!'[TAB!H!<%'!6$K
M".M$&[(ZK0E6.!L*OD7"1&LWTZAK4ZMU-H2959PIH4>)UJGLFFV *2X(2'2.
M9GJ3%&L*B"_0[LCI!!0F5)[IF(?9!)V>G*$31!CZM>)KB5DAAZ[2-,;3S=N9
M+YN9@S=FGD!^@4+_"PJ\(++(QQ^7AZ_EKJY!5XB@*T10^X7O%.(9886FU].?
MMHP:B\AN80[<0%8XAY&C3Y0$L0$G^_S)3[ROMOS^D]FK;,,NV_"8>S8EC.A-
M4Z EY_;%:_1QK3>?@DT6)%X0#-W-;@Z'4:'73_M=U"NXJ(.+CL+=8@6"8"J1
MWEFH$KQ8YTJ:[:;;.4@K;V.9[)#X01CVXSU@2YC?#[S03AQWQ/%1XBO!I0'L
M3HR-,#Z<.NI'?F^/T!(6>YK13IATA,E1PAM=M@&ZT?L:M;O)AI@<S'V>)&$_
MW4.TA45!\@9BKT/L?0 1GLP*URO/YY)3D#FP'(Y1]RPX<1CN0=NB_,"S,Z<=
M<WJ4^8>^9]]9]O3@B/22*$WVZ"Q1_=3?IW-W/O3FDKW%8DF81!066N==]+2!
M:"ZNIJ-X57_[YUSIFZ1NKO1=#\($Z/$%Y^JE8ZZ3[M]#]@]02P,$%     @
M28A36GD'(5EQ @  G08  !D   !X;"]W;W)K<VAE971S+W-H965T-34N>&UL
MK95=3]LP%(;_BI6A"21&/MM-+(U$"1.[0*I@;!?3+MSDM+%P[& [+?S['3MI
M5E! :*(7C>V<]_$YQ\F;="O5G:X #'FHN= SKS*F.?5]75104WTB&Q!X9R55
M30U.U=K7C0):.E'-_2@(IGY-F?"RU*TM5);*UG F8*&(;NN:JL<Y<+F=>:&W
M6[AFZ\K8!3]+&[J&&S"WS4+AS!\H):M!:"8%4;":>6?A:9[8>!?PD\%6[XV)
MK60IY9V=?"]G7F 3 @Z%L02*EPV< ^<6A&G<]TQOV-(*]\<[^C=7.]:RI!K.
M)?_%2E/-O"\>*6%%6VZNY?82^GHFEE=(KMT_V7:QTXE'BE8;6?=BS*!FHKO2
MA[X/>X)P^H(@Z@71<T'R@B#N!?%;!4DO<*WVNU)<'W)J:)8JN27*1B/-#EPS
MG1K+9\(>^XU1>)>ASF0+A4^0,H_'9,&I,(2*DES<MZS!HS7D, =#&=='Y!.Y
MO<G)X<$1.2!,D!^5;#7&ZM0WF(5E^46_X[S;,7IAQS B5U*82I,+44+Y%.!C
M^D,-T:Z&>?0J,8?BA,3A,8F"*!E)Z/SM\GA$GK]='KU233R<2.QX\7^=R.^S
MI38*WY8_8YWOR,DXV3K(J6YH 3,/+4*#VH"7??P03H.O8UU[3UC^3K G'4V&
MCB:OT?&$$%HPZHP&'M Q-8QUKZ-,',7:Y2:+PC"8IOYFORVC4>'D:50^$I7@
M;XCJ"O'W7MP:U-H9H":%;(7IGO]A=?#8,V<MS];GZ+V=5?[#=,9]1=6:"4TX
MK! 9G'S&G%1GAMW$R,;9PU(:-!LWK/#[ <H&X/V5E&8WL1L,7Z3L+U!+ P04
M    " !)B%-:C""][Z(#  ".$0  &0   'AL+W=O<FMS:&5E=',O<VAE970U
M-BYX;6RU6%V/VC@4_2M6MEJU4CN)G2^8A4@[PU8[4F>%.OUXJ/;!DQBPFL2I
M;:#S[_<Z9 )A,MZA"CQ G-Q[./?XV%PSV0KY7:T8T^AGD9=JZJRTKBY=5Z4K
M5E!U(2I6PI.%D 75,)1+5U62T:Q.*G*7>%[D%I273C*I[\UE,A%KG?.2S252
MZZ*@\N&*Y6([=;#S>.,C7ZZTN>$FDXHNV1W3GZNYA)';HF2\8*7BHD22+:;.
MG_CR&L<FH8[XPME6'5PC4\J]$-_-X":;.IYAQ'*6:@-!X6/#KEF>&R3@\:,!
M==KO-(F'UX_H[^OBH9A[JMBUR+_R3*^FSLA!&5O0=:X_BNW?K"DH-'BIR%7]
MCK9-K.>@=*VT*)ID8%#P<O=)?S9"'"3@X)D$TB20ER;X38)?%[IC5I<UHYHF
M$RFV2)IH0#,7M39U-E3#2S.-=UK"4PYY.IE+<(34#V_1/*>E1K3,T%\_UKR"
MJ=+H';H#WV3KG"&Q0/;8US.F*<_5&\CZ?#=#KU^]0:\0+]&GE5@KB%435P-C
M\[UNVK"[VK$CS[";L?0"^?@M(AX)>M*O7Y[N=]-=T*D5B[1BD1K/_R6QOGV
M<'2C6:'^[2MUAQWT8YOE>JDJFK*I ^M1,;EA3O+[;SCR_N@K?""PC@Q^*X-O
M0S^0H6IE8(\R]%6^@PMK.+.O;)(@CB-")N[FL*:>L(CXX[@-Z[ -6K:!E>T'
MIA2B.>Q7M$R90K#UP3H'65).S4[21WB'&!TP>1=XD1_[1XQ[XORQ-XK\?LIA
M2SFT4OX'MN_J5)'#)UQB3(+Q$>.^J- /^OE&+=_(+K$A=U, Y0TS]!3Z=LN*
M>R9[UX$5Z]1U,!!8I^RX+3L^XW80#RG#0& =&4:M#*-AMX/1$P^2$8F.C/H_
M01VFXY;IV,KT:LWSC)?+FF([>+%QK>"GSMA 8!T=L+?_U??.:-T&?" EAD+K
M2G'0 .%A[=O@=?;0"#;1(P/WA051Z/5;&.][$&S];4]N:;J"6_+A>-(LSK5#
MGCQAYV@^\+[[P/XYO6OM;4Z68B"TKA3[U@;;>YO3O?NT8_'A%87'YNV)(R3V
MGW/OOK/!]M9FQJ$%,S0_"3BYV$UK13IYI@9"Z]:][Y!P=$[3#MHS#876E6+?
M-6%K-_(+IHV?' RBD,2C8\_VA!$\QD>6=0\.R^:?BELJE[Q4*&<+R/,N8@"0
MN\/_;J!%59^?[X6&TWA]N6(T8]($P/.%$/IQ8([D[5\PR7]02P,$%     @
M28A36KAH3UCK P   QD  !D   !X;"]W;W)K<VAE971S+W-H965T-3<N>&UL
MM9EM;]LV$,>_"J$50PNTD2@_9[: V.JP LT6).WVHM@+QCI;0B71(^DX[:<O
M*3F2E<B<!%S?V"+%^_/N)Y.ZH^<'+K[*&$"1QRS-Y<*)E=I=NJY<QY Q><%W
MD.L[&RXRIG13;%VY$\"BPBA+7=_SQF[&DMP)YD7?C0CF?*_2)(<;0>0^RYCX
MMH24'Q8.=9XZ;I-MK$R'&\QW; MWH#[O;H1NN95*E&20RX3G1,!FX5S1RY#.
MC$$QXN\$#O+DFIA0[CG_:AH?HH7C&8\@A;4R$DQ_/< *TM0H:3_^.XHZU9S&
M\/3Z2?WW(G@=S#V3L.+I/TFDXH4S=4@$&[9/U2T__ ''@$9&;\U367R20SEV
M[#MDO9>*9T=C[4&6Y.4W>SR".#&@XS,&_M' ?VXP/&,P.!H,NAH,CP;#@DP9
M2L$A9(H%<\$/1)C16LU<%# +:QU^DIOG?J>$OIMH.Q7\I6(0Y$I*4)*\#D&Q
M))5OR#OR^2XDKU^](:](DI/K)$WU4Y)S5^DYC:6[/NHO2WW_C#[UR37/52S)
M^SR"J"G@:F<KC_TGCY>^53&$]049T+?$]_QABT.K[N:#%O.PN[EOB690\1\4
M>H-^_+]\U./(!P69_+<->BDZ;!<U>\6EW+$U+!R]&4@0#^ $O_Y"Q]YO;< P
MQ4(DL0;,805S:%,/;IB"7!&6<:&2[\QL+&WP2I%I(6+VQ8? NQC-W8=3)FUC
MALTQH7U,(X)1%<'(&L%[J1*]F4%$6)[O64IV+T,B\*AW?0F$;93^[6STODF^
M 1.MJ[.<;F:+8V5UJ>_S1Q)KT!M7],96>I\$BX#\R3+X<@W9/8C6M6/5Z+MV
M,,5")+$&NTG%;O(S-J())DQ,L1!)K %S6L&<XBWC,^^QY;3#TK6ZT9<8DEB#
MV*PB-D,E-FHC-NM S.I&7V)(8@UBU*M3-P^5V;@U??,Z0+,[TI<:EEH3VTG&
M2U&Q35JQT2[8K([TQH:DUL3FU]A\5&S35FQ^%VQ61WIC0U)K8JOS>VK->(-5
M4</I5^LMI 4C&2<[26P)BEVQ[TL552W$4FO2K!-\.OP960JUU@V]B6*JA5AJ
M3:)UP4$1*XYSJ0IM*S/H\V6-6F=@J36QU94&M9<:*/G*<8[_P89:8F"I-;'5
M10:UIMU(*<ND"S;48@)+K8FM+B<H;CW1GK*T%10OL*%6%%AJ36QU34%QBXKV
ME&76<LSS AMJ68&E5F)S3TZ'=2*R+4[9)5GS?:[*8]>JMSK)ORK.KY_U+\T)
M?W'J7,N4?P]<,[%-<DE2V&A)[V*B-V=1GKB7#<5WQ1GT/5<Z&RHN8V 1"#-
MW]]PKIX:9H+J?X_@!U!+ P04    " !)B%-:7U'Y[,\"   W"   &0   'AL
M+W=O<FMS:&5E=',O<VAE970U."YX;6RMEEMOVC 8AO^*E553)[7-F80.(E'0
MM%U,167=KDWR0:PZ<68[T.W7SW9HQ,&EO=@-\>'[7C^OCXRVC#^)$D"BYXK6
M8NR44C:WKBOR$BHL;E@#M>I9,5YAJ:I\[8J& RY,4D7=P/,&;H5)[60CTS;G
MV8BUDI(:YAR)MJHP_W,'E&W'CN^\-#R0=2EU@YN-&KR&!<C'9LY5S>U5"E)!
M+0BK$8?5V)GXM]-4QYN GP2V8J^,M),E8T^Z\JT8.YX& @JYU I8?38P!4JU
MD,+XO=-T^B%UXG[Y1?V+\:Z\++& *:._2"'+L9,ZJ( 5;JE\8-NOL/,3:[V<
M46%^T;:+36('Y:V0K-HE*X**U-T7/^_F82_!CUY)"'8)P7L3PEU":(QV9,;6
M#$N<C3C;(JZCE9HNF+DQV<H-J?4J+B17O43ER>Q>EL#11 B0 EVCA=HE14L!
ML14ZZ+J<@<2$BD\JZ'$Q0Y<7G] %(C7Z4;)6X+H0(U<J'JWJYKNQ[[JQ@U?&
MGD%^@T+_"@5>$%G2I^]/#P_3734+_50$_50$1B]\1:_W?G_D?;(4DJO]9G/8
M249V27T$;T6#<Q@[ZHP)X!MPLH\?_('WV>;W/XD=N ][]^$Y]6R.)=127"$L
M4<Z$U6RG$!L%?3UL,M\+P^'(W>R[L$4%J==''>!%/5YT%F\&#1-$+88Z^CEN
MB,04$0F5==MU4H-]@C2*PB/.TZ@@]*+8SAGWG/%9SN^8JR:D]DL!J,85G)W0
M^ 0A23WOB/.-H /,08\Y.(LYR?.V:JE:\P+ABG%)_F)]K=H@!R?C7ZOQTR-*
M2U3B)[X=,^DQD[.8YAC:F)*3T89^<KS EJ!AG-J)TIXH?9L(87,QV,#2D\T?
M)DF4')&=1D7AT ^.T-R]:UT_J6IOK4DM$(65RO-N]"/$NV>JJTC6F)M^R:1Z
M-TRQ5"\[<!V@^E>,R9>*?CSZ_PK9/U!+ P04    " !)B%-:F1&XJ0("   ;
M!0  &0   'AL+W=O<FMS:&5E=',O<VAE970U.2YX;6RME%UKVS 4AO^*T&!L
M,")_I&G);$.:,#;8(+1LNQB[4.R36%2R/.FD:?[])-DQZ7!++G9CZTCG?7Q>
M64?909L'6P,@>5*RL3FM$=LY8[:L07$[T2TT;F6KC>+H0K-CMC7 JR!2DB51
M-&.*BX8669A;FR+3>Y2B@;4A=J\4-\=;D/J0TYB>)N[$KD8_P8JLY3NX!_S>
MKHV+V$"IA(+&"MT0 ]N<+N+Y,O7Y(>&'@(,]&Q/O9*/U@P^^5#F-?$$@H41/
MX.[U"$N0TH-<&7]Z)AT^Z87GXQ/]4_#NO&RXA:66/T6%=4YO**E@R_<2[_3A
M,_1^KCROU-*&)SETN<D5)>7>HE:]V%6@1-.]^5._#Y<(DEZ0_"N8O2!(>T'8
M.=95%FRM./(B,_I C,]V-#\(>Q/4SHUH_%^\1^-6A=-A\17<'E1D82V@)>]6
M@%Q(^SYCZ. ^A94]Z+8#)2^ 5E!.2!I_($F43$?DR\OEZ7,Y<Y8&7\G@*PF\
M]")?OQ8;B\8=F=]CQCK2=)SDVVAN6UY"3EV?6#"/0(NW;^)9]'',YG^"/3.=
M#J;3U^B=:8)@U)C-U[77Y C<6')#E&ZPMB1.2,6/=LSC9:0X.J&2Z0BJ<\C.
MCJZ_-KYQLQ.-)1*V#AY-KEW?F*X5NP!U&T[S1J/KC3"LW>T%QB>X]:W6> I\
M@PSW8?$74$L#!!0    ( $F(4UHZS7=U6 0   <4   9    >&PO=V]R:W-H
M965T<R]S:&5E=#8P+GAM;,U8;6_B.!#^*U9N==J5VB8.[SU :NFN;J7VMH+V
M]L/J/IAD(-$F-F<;*/_^;"<$0DRV[*)3OT!>9AX_\]CCF;B_9OR[B  D>DD3
M*@9.).7BVG5%$$%*Q!5; %5O9HRG1*I;/G?%@@,)C5.:N+[GM=V4Q-09]LVS
M1S[LLZ5,8@J/'(EEFA*^N86$K0<.=K8/QO$\DOJ!.^POR!PF()\7CUS=N05*
M&*= 1<PHXC ;.#?X>H1[VL%8_!W#6NQ=(QW*E+'O^N9S.' \S0@2"*2&(.IO
M!2-($HVD>/R;@SK%F-IQ_WJ+_LD$KX*9$@$CEGR-0QD-G*Z#0IB192+';/TG
MY &U-%[ $F%^T3JW]1P4+(5D:>ZL&*0QS?[)2R[$GH/?.N+@YP[^H4/[B$,C
M=VB80#-F)JP[(LFPS]D:<6VMT/2%T<9XJVABJJ=Q(KEZ&RL_.;P'I4&(;H0
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
M=@.^SZ4T#Q-[Q75?*,E?4$L#!!0    ( $F(4UI:U,&4G (  '@'   9
M>&PO=V]R:W-H965T<R]S:&5E=#8R+GAM;*U576^;,!3]*Q:KIE;:PE>@:4:0
MVF35]C I:MKM8=J# S?!JL',-DGZ[V<;PO)!HJ[:"_CCGN-SCR^7:,WXL\@
M)-KDM! C*Y.R'-JV2#+(L>BQ$@JULV \QU)-^=(6)0><&E!.;<]Q0CO'I+#B
MR*Q->1RQ2E)2P)0C4>4YYB]W0-EZ9+G6=N&!+#.I%^PX*O$29B"?RBE7,[ME
M24D.A2"L0!P6(^O6'8Y#'6\"OA-8BYTQTIG,&7O6DZ_IR'*T(*"02,V U6L%
M8Z!4$RD9OQM.JSU2 W?'6_9[D[O*98X%C!G]05*9C:R!A5)8X(K*![;^ DT^
M@>9+&!7FB=9-K&.AI!*2Y0U8*<A)4;_QIO%A!^#V3P"\!N"]%N W -\D6BLS
M:4VPQ''$V1IQ':W8],!X8] J&U+H6YQ)KG:)PLGXD>,4T&V2L*J0 DWQ"YY3
M0+A(]2*O($6?-ZID! CT$<U4$:65VF<+]"_(RPE(3*BX4AQ/LPFZO+A"%X@4
MZ#%CE5 0$=E29:,UV4FC_*Y6[IU0/H&DAWSW _(<K]\!'[\>[N_#;>5A:Z37
M&ND9/O\$WUNM^7D[%Y*K:O[594%]9K_[3/V%#T6)$QA9ZA,6P%=@Q>_?N:'S
MJ<N0_T2V9X_?VN.?8V_J#&\M*6M+NE*N>0+#HWO0*G9]]]J)[-5N+AU1KNO\
MC=H3V6]%]L^*O(<4.*8(-@D1@"3>P%FI-5NX+_7&.Y#:$>7>!/UNJ4$K-3@K
M=5M'3&; N[0%1Z?>^(/!@;3CH$%X2EG8*@O?<-.F^'$C&IKB[](='EVL'UP'
MA]??$:5J9'"@W-[IB_J?] WS)2D$HK!0.*=WK0AXW>?KB62E:95S)E7C-<-,
M_1J!ZP"UOV!,;B>Z^[8_V_@/4$L#!!0    ( $F(4UJ2PSVJP@(  .P)   9
M    >&PO=V]R:W-H965T<R]S:&5E=#8S+GAM;+56;6_:,!#^*Z>LFCJI(R$A
M@#J(U(*F=5HG5M3M0[4/)CG JA-GMH'VW\]V0@132$O%OB1^>YZ[Y\[V>;#A
MXE$N$14\I2R30V>I5'[INC)>8DIDB^>8Z9DY%RE1NBL6KLP%DL2"4N;ZGM=U
M4T(S)QK8L8F(!GRE&,UP(D"NTI2(YVMD?#-TVLYVX(XNELH,N-$@)PN<HKK/
M)T+WW(HEH2EFDO(,!,Z'SE7[<M0WZ^V"GQ0W<J<-1LF,\T?3N4F&CF<<0H:Q
M,@Q$_]8X0L8,D7;C3\GI5"8-<+>]9?]LM6LM,R)QQ-DOFJCET.D[D."<K)BZ
MXYLO6.H)#5_,F;1?V!1K>X$#\4HJGI9@[4%*L^)/GLHX[ #:W0, OP3X_P+"
M X"@! 16:.&9E34FBD0#P3<@S&K-9AHV-A:MU=#,9'&JA)ZE&J>BJS@6*TQ@
M3-<TP2R1<#Y&12B3'^ CW$_'<'[V <[ !;DD B70#.XSJN2%'M3M6\J83H<<
MN$I[8SC=N+1\75CV#UC^2K(6>.$%^)X?U,!'S?#O?-V"P+-P?Q_NZAA4@?"K
M0/B6+WA#(!Z^Z<5PHS"5O^N$%LR=>F9S#B]E3F(<.OJ@211K=*+W[]I=[U.=
M[!.1[04AJ((0-+%'6_&0DV<R8P@YBB+Q=;(;N8Z579"%ELQ</>LH'+CK&BV=
M2DOG55HD3 HQ=1(*BOZ.U7Z_%52&"]<:[;PQ(V&E(FQ4,37;^T=G9UL^W&(Z
M0U&[$1NYCLW(B<CV9'<KV=W_=AJ[IPS"B<CV@M"K@M![Y0XNC^,%)$0A\+FN
MGS$729WZ1LICU;_@'\8M:.L;_*4[N%\)[K])L.(PTW<1H;6*FSEMF;%UYF"A
M:20X-L?N3BTV[Z!;(A8TD\!PKNF]5D\?*U&\+8J.XKDMSS.N=+&WS:5^CJ$P
M"_3\G'.U[9B*7SWPHK]02P,$%     @ 28A36D072T5S @  ^08  !D   !X
M;"]W;W)K<VAE971S+W-H965T-C0N>&ULK971;ILP%(9?Q6+5U$I=((2D74:0
MUE13.ZU2E*C;Q;0+!P[$JK&9;4CR]K,-0>E$V#+M!GQL___Q9YM#N.7B16X
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
MH4R=&,S#+(/CHQ,X LKA:RD:17BA$E^;;.V:?MYE-FTS"W=D-@KA1G!=*OC
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
M"--,W?DK]98MU,LDC;:40T:DL&EK9[WHNE?^6]N==GL"&+I].W!\ ABYX5_
M/4?ZC2/]5J8OL@!ND]RW)^ PG>WL2F#WB, 3P, -V@7&C<"XE>GU+CSCF,8V
MT<'5X3F-;2<PB ^VL)TLC@ZVL+?S)%? YZ:T$2AE2RKKQZP9;:JG&U,T'(R/
M5%55%T&O-'5)]H#YG%"!2L@5I>_VU>GB=9E3=R1;F(=_QJ0J(TRS4)4A<!V@
MON>,R6U'3]#4FLD?4$L#!!0    ( $F(4UK(Y03[IP,  )P,   9    >&PO
M=V]R:W-H965T<R]S:&5E=#<P+GAM;*V7;8_B-A#'OXJ5GJH[J;>)\P1L 6EO
M:=65^K Z]MK7)AD6:YTXM0WL]=-WG&1# !/Q8M] 3&;^^<W$,V.F>ZE>] ;
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
MC.$HO]PAR,?/+( _WV#,CC=9!M6)XO ?4$L#!!0    ( $F(4UI,PLOO]P$
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
M_8,X"S[.RW(^77UXEP]O\J+^@NKSG^;S<G.C7N#+O/AUM=N7_P=02P,$%
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
MG)39B36-LBX@DR$!F0P-R*!:A6H"U22J*533J&90S:):C6H-I?4[M@O(9$A
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
MD:E?61YVEC=:;(H#IR>AM4B+RS5G2RYS@/E^)81^N\DGJ$^<!_\!4$L#!!0
M   ( $F(4UJW(]L5W (  #<+   9    >&PO=V]R:W-H965T<R]S:&5E=#<X
M+GAM;+56;6_:,!#^*U963:VT-9"$%W4A$C2K6FE,"-;M0[4/)CF(52?.; /M
MOY_MA Q08%3+OB0^^Y['=X]]R?D;QI]% B#12THS,; 2*?,;VQ91 BD6URR'
M3*TL&$^Q5"9?VB+G@&,#2JGMM%I=.\4DLP+?S$UXX+.5I"2#"4=BE::8OXZ
MLLW :EO;B2E9)E)/V(&?XR7,0#[F$ZXLNV*)20J9("Q#'!8#:]B^"?O:WSA\
M)[ 1.V.D,YDS]JR-AWA@M71 0"&2F@&KUQIN@5)-I,+X57):U98:N#O>LM^9
MW%4N<RS@EM$?));)P.I;*(8%7E$Y99M[*//I:+Z(46&>:%/X=M6.T4I(EI9@
M9:<D*][XI=1A!]#N'@$X)< Y!'A' &X)<,\%>"7 ,\H4J1@=0BQQX'.V05Q[
M*S8],&(:M$J?9/K89Y*K5:)P,I@"Q1)B-,%<OJ)O'&<"FQ,1Z#($B0D55^@C
M>IR%Z/+B"ET@DJ$QH51[^+94$6@>.RIW&Q6[.4=V:SMHS#*9"/0YBR'>)[!5
MZ%7\SC;^D7.2,83H&KGM#\AI.5Y-0+?GP]T:>'@^W#F1C5N=AFOXO"-\7[&6
M'E,T)0L*:"@$BXB90T]C2.? ?]:)?I)4?SAN1(XC&%CJRR" K\$*WK]K=UN?
MZ@1KDBQLB&Q/3*\2TS/L[MNO]M,7Y8L>)*2B5E"O24&;) L;(ML3M%,)VCEY
M.X<I6V42Y9C$=:(5X+X!Z[_-.FA==WQ[O:O%&3YAG4^O\MF+O%M%WCVOKF8)
M8Y)D2S3+&9<"W:F,XK\7V$GVM]Z')LG"ALCV5.U5JO;^5X'UFA2T2;*P(;(]
M0?N5H/U_*;!^36%X!P56Y^,>%-AIGR)R>Z>E2($O36LF4*0#+/[.U6S5_0U-
MTW,P/U)=8='$_:$I6LHQYDNB[@J%A:)4-:X*GQ=M6F%(EIO&9<ZD:H/,,%&=
M+7#MH-87JI:WAMZ@ZI6#WU!+ P04    " !)B%-:0J.FK_$%  "@+P  &0
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
MDD4#\_E<"/UZ4)R@V90__1]02P,$%     @ 28A36L$]$\"R!   L0X  !D
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
M+&C&]3>Q^0.*@/J&+Q)<V5^R*6P]AT29TB(IP.A!PM+\G[X60AP ,-!Z0%
M@F/ X R@6P"ZQX#>&4"O /3>"N@7 !NZF\=NA9M132<C*39$&FMD,Q=6?8M&
MO5AJ$N512[S+$*<G4Y%JEBXAU>2.T3GC3#-0Y MYQ)2,,PY$+,B#%'$6[2VV
M)'S%3%5 /LY 4\;5)T1\?YR1CQ\^D0^$I>1I)3)%TUB-7(UNFH>Y4>'2-'<I
M...2'Y![]&JE2)C&$%<)7(RO##+8!3D-&AEG$'5(U_], B_HU3@T>SN\6P,/
MWPX/&J+IEJ^L:_EZ9_BNHTAF$),[6%)>OHGG>TCF(/^NT[N1SRQ%5VI-(Q@[
MN-8HD"_@3'[[U1]XO]=IU299V!)91<=>J6//LG?/Z'B:U64Q1%OR?(?FY%9#
MHFHU[;6I:9MD84MD%4W[I:;]]^=FC9,WS33/?JWF.:AO068'?)D,AB/WY5#)
M4Y.^YU5MPE.;+SU_3U0)?% &/FCT^#95F:1I!+A80L*RY$V%V<CYWB1JDRQL
MB:RBY;#4<O@3"W/8IJ9MDH4MD54TO2@UO?AO^5E7G,U4ST&M[CEH<%!5E][%
M476>VOA!,#@JSQJCOMFVZ\KSL@S_LM'G)Z%Q/3I_CFDJTD;F]R94FV1A2V05
M17UO?W+T?F*9%N0MR=HJ6]@66U78@R.Y_W^2M59-_V1/NQSVCZJOQL@?GI1?
MG97OG=D>?7,$K\[LC[%^\SD6-_FG%1 H2I 61P=L'C1.\S)LI@@VQ(3;(\4"
ML#L1*=]VR&UJ3]2?K7DDE%:(C3(ID40"IQKB7[0@$;:1"FVH)AN00!1HS=$$
M*6.F$J84#NP=#LH:Y@[01&0I<N[\,C[@/'J:,Z*?:\EP<@M4J@ZNBOLU=A>3
M!)L@AF;GI.FG6&FXSA=CU:E+'/>@K4M +FT_K9 %_<J/N>5LV;/?V$[U:'YJ
M>OF:^6L_N)KY=0A\=WC'-K'N_M'YQX-[*I<8 <JU0#>\SA!31>;]>#[08FT;
MSKG0V+[:RQ70&*0QP/L+(?1N8!Y0?A69_ M02P,$%     @ 28A36B88\18;
M @  N 0  !D   !X;"]W;W)K<VAE971S+W-H965T.#(N>&ULC51?;YLP$/\J
MEC=-F[3%A))TR@!I:5:UTBI%C;8]5'LP< 2K-J:V@6Z??K9)4#;1:"_@L^_W
MY_ =<2_5HZX #'H6O-8)KHQI5H3HO )!]4PV4-N34BI!C0W5GNA& 2T\2' 2
M!L&2",IJG,9^;ZO26+:&LQJV"NE6"*I^K8'+/L%S?-RX9_O*N V2Q@W=PP[,
MMV:K;$1&EH()J#63-5)0)OCS?+6.7+Y/^,Z@UR=KY"K)I'QTP6V1X, 9 @ZY
M<0S4OCJX LX=D;7Q=.#$HZ0#GJZ/[->^=EM+1C5<2?Z#%:9*\$>,"BAIR\V]
M[&_@4,_"\>62:_]$_9"[6&*4M]I(<0!;!X+5PYL^'[[#"2!<O  (#X#0^QZ$
MO,L--32-E>R1<MF6S2U\J1YMS;':7<K.*'O*+,ZDNS;3\-1";="7SCXU>KL!
M0QG7[] '].\I>K@#D8'Z&1-CQ1T%R0]"ZT$H?$'H&K(9FD?O41B$"_0:$:0K
MJD#_S42L_;&&<*PA]-07_UD#>OAJ,]"M :$GG0YTT32=&X.5;F@.";9]KD%U
M@-,WK^;+X-,9LQ>CV8MS[.F&=:R ND"T-954[#<44Q8'DDM/X@:K2X-9&,6D
MFY".1NGHO#0U@&1I9RF7:E+U//Z.JN$*_1U.?0MRTHANIBUBSVJ-.)26,9A=
MVJ96PYP,@9&-[\U,&MOI?EG97PLHEV#/2RG-,7#M/OZLTC]02P,$%     @
M28A36@GIU2TP P  )!,   T   !X;"]S='EL97,N>&ULW5C1;MHP%/V5R%VG
M5IH:(&M*5D#:D"I-VJ9*Y6%OE2$.6'+LS#$=].OG&X<0J&_7]6&#!978]^2<
M>VS?U&X'I5D+=K=@S 2K7,AR2!;&%!_"L)PM6$[+"U4P:9%,Z9P:V]7SL"PT
MHVD)I%R$O4XG#G/*)1D-Y#*_R4T9S-12FB&)FU#@;I_3(>G&[TG@Y,8J94-R
M?_;VQU*9ZS>!NY^\.SGIW)]?[\?/*N"<A%[1RQ>(7G1P78MATO&+I)]1QH2O
M=H6W0K\C]CW$TX9WBM$2;[X6$SH5.:Q7<C3(E-PN:$1<P*K3G 4/5 S)F H^
MU1Q8&<VY6+MP#P(S)90.C*TDFZX+D?+1P5W7@R*K=7(NE:YRNPSN>UH_O@=L
M>F"0"]$8[!$7& T*:@S3\L9VJH>KX!,HJ-N3=6$=SC5==WN79$NH;C;)5.F4
MZ29-EVQ"HX%@&=C1?+Z NU%%"* Q*K>-E-.YDK3RL&'4#2L[8T+<P1OX/=O1
M7F6M=>O JLFF:0W532?C.J#?5G/:;=G>JW2#@C\H\VEIAR.K/A0VN]4LXZNJ
MO\H: YAZ%U>G12'6'P6?RYRYP;\XX6A -[Q@H31_M-F@5&8VP#0)'I@V?-:.
M_-2TF+"5V933*L,]]X[0\]^=YSF33%/1-FUK_Y!G^=6.ZRWK7WBN?JWL._::
MC*X.WV.]31^ZR?@83![%<O>/P61RD";#>@-OG1)VS@A--("SV)!\@Y.=V"8-
MIDLN#)=U;\'3E,DG1P4K;^C4_@FPHV^?3UE&E\),&G!(MNVO+.7+/&F>NH6)
MJ)_:MK_ \+IQ<Q"TN;A,V8JEX[JKY].J&=B&S5I?0-A';JK+CV <A_D1P+ \
MF .,XUA8GO]I/'UT/ [#O/6]2!_E]%&.8_F0<?7!\O@YB;W\(TV2*(IC;$;'
M8Z^#,39O<0P_?C7,&S"P/)#IS^8:7VV\0IZO VQ-GZL0;*1X)6(CQ><:$/^\
M 2-)_*N-Y0$&M@I8[4!^?QZH*3\GBF!5,6_8&XPC28(A4(O^&HUC9'9B^/C7
M!WM+HBA)_ A@?@=1A"'P-N((Y@ \8$@45?O@WGX4;O:I</M_L=$O4$L#!!0
M   ( $F(4UJ7BKL<P    !,"   +    7W)E;',O+G)E;'.=DKENPS ,0'_%
MT)XP!] AB#-E\18$^0%6H@_8$@6*19V_K]JE<9 +&7D]/!+<'FE [3BDMHNI
M&/T04FE:U;@!2+8ECVG.D4*NU"P>-8?20$3;8T.P6BP^0"X99K>]9!:G<Z17
MB%S7G:4]VR]/06^ KSI,<4)I2$LS#O#-TG\R]_,,-47E2B.56QIXT^7^=N!)
MT:$B6!::1<G3HAVE?QW']I#3Z:]C(K1Z6^CY<6A4"H[<8R6,<6*T_C6"R0_L
M?@!02P,$%     @ 28A36KR.77H&!@  GC4   \   !X;"]W;W)K8F]O:RYX
M;6S%F]MNVS@00'^%\%,7:->QKFZ0%$B3=#= MO7&05\+6J)M(A+IDI)3]^MW
M*#4H&<N#?1G[*='5QT.19X:B+YZU>5IH_<1^U)6REZ-UTVS.QV-;K$7-[9]Z
M(Q0<66I3\P8VS6IL-T;PTJZ%:.IJ')V=9>.:2S7Z</%RKYD9^QNZ$44CM8*=
M;L=7*9[M[^-NDVVEE0M9R69W.>K^K\2(U5+)6OX4Y>7H;,3L6C__K8W\J57#
MJWEA=%5=CB;]@:_"-++8VSUWD(]\8;L]#5\\< "Y'&5G<,.E-+;ISNCNSX%Q
M*^#D?JMM]"=9-<+<\$;\972[D6KE;@/?8NQ]C2X.+W_[()Z;_Q-&O5S*0MSH
MHJV%:OHX&E$Y0&77<F-'3/%:7(ZN]588]WW@ ^[*_KLU .5%RIQ+.&#NR@Z/
M#N6J+67#[E1_,1SUL"($*Z+%NH9M7<D2/KUD'WG%52%8U[+6 XP1P/AD@.S-
MC'N0"0*9'!%R[B#<!9;I);1XH3W(%(%,3P8Y;W3A068(9'9"R&^1!YDCD/G)
M(*^Y77N04P1R2@LY;^N:FUT7.;E2$B[CJF%71:%;U4@/\CT"^9X6\D%LA6H%
M>Q"%!D9WG'%5,HAP8[C_3$[.L+'[C!;ST?"R@Q1RR^&C[5OV630^'6H68K7<
M*0AB WX7_I@]P:PR(=8*9"X;R"MV;]FL<D^=:]/;[ZW<N.M\2,PL$V*U?&G6
MPK K:T/933"13(A-<B^XA4%E'PH3QX38'/WC_VODL&S&=ZX3=(T*.X,$"U/'
MA-@=CJ6%X-W(K2R%*H/X8;J8$/OB7BK1R<$(2 )]*LP/$V)!W-:;2N^$8!^%
M$DM(3EU7#6*&B6%";(:^<WZ!402.J5671]7B];@;85:(B*W0([%'_B,8>"/,
M!1&Q"VZY41 NZ*00O?F:&^&3H84&L1)<COD$#MVTIEC#(!>$#-- 1%YAU'"U
M[0[L]8$(DT%$+(/?3_]<K-RYA^I'3 X1L1S^;;F!6K_:0=O:MNK3X%_D.HPE
M)H>(6 X/;B?(80:T.P9&@Q8O]@@Q2T3T585K:]?,]Y)W4SIA1A=AMHB(;?%)
M*BB]):_@&;2-Z4X/X#!91,2RF+<+*[ZW+G2WVU=@,::(F%@1D"JQ;3<8=Y>[
MN8L;:8M*VS88F6/,&3%Y_6 A7S*N4Y1NL+DRT#M6XG4+QY@]8NIYJMU"&"N*
MUDCHO@_2/K%_N.(])?.G@6)TLHK8)2_5-41QIBM92%<J+G;]QH[YF)A88F*Q
MH&5W,,L28VJ)CU)WO"Z[V9O';N,/'Q-32TRL%J_^'F3#I!(32P4MQ-D;'Q.S
M2TQL%[\4'XPA9I>8V"Y!33Y$EV"*28XR-W6@. _Z<H)))B&6#%+/N9#ZF)AG
M$F+/^#7=8%-C=DF([;)?W TBHB]"B,VR5^4-$F)228BE@A95P8B88%))B*6"
MEE5AM\;\DIRD:!EL=,POR2E?AH31Q$R3G/)UR+?8?X^(*2<E5@Z.F?B8F')2
M8N4<2A]O1,-EY9<V*::<E%@Y!S#?L3G<O&Q]3$P^*;%\_"SWA:T2_2MN..)C
M8@)*B06$)KQ!3T_1=_'$%L+S\G<^)F:AE-A"85[^J^/XHWJ*R2<EED] %SZ3
M[I"/B<DG)9;/J_IA*(J8=-*CEC=A&!_DRE\7@DDG(Y8.A@EYD8^)22<[BG0.
ME6.^PC-,.AFQ=/;>E0X^EQDFG(Q8..%;TV$^S#09L6F&WY\.I1<99IJ,NMY!
M"F_H13XFNNZ+?!+-+[R'VAHS349LFH N''L^B3(8?##39,2F03!OE\L $S-.
M1FP<!/-&!)@Y9IR<V#@#TRT^K(^)&2<G-L[ E,M ]\DQV^3'?O<?MKJ/B1DG
M/_I*@.%08M;)3[DF(%P@BUDG/^DLFU_?Y)AU\I/.LOG96HZN-R;6S^'%"]T#
MZF-B^LF)]7-H,G _(\HQ_>3$^CF .3#A,L7T,R76#XH9]/0III\IM7Y>K[T8
M'#.GF'ZFG7[&W<GVPT4)V;02Y6>XO87]!:^*F6'N3[<J,4I2MS)QV5;5->S[
MHNXU+U]^7O3RTZ@/_P%02P,$%     @ 28A36F;-$3IT @  ;3   !H   !X
M;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<\W:36ZC0!"&X:M8'""XJZJKR"C.
M:C;9CG(!Y+1_%-M8P&B2VX_E+.P/S6(V$=\*-8CBE9 >(>#I5SFTX[X[#;O]
M>5A\' ^G857MQO'\HZZ']:X<V^&A.Y?3Y<BFZX_M>%GVV_K<KM_;;:EEN?2Z
MOY]1/3_=SUR\?I[+_TSL-IO]NOSLUK^/Y33^8W#]I^O?AUTI8[5X;?MM&5=5
M_7&X[1[JZR8]7"97BY>W5=6_O*6JGCM(($CF#U((TOF##()L_J ,07G^((<@
MGS\H("CF#VH@J)D_Z!&"'N</2DN4<4F0-,&:0.N$7"<"KQ."G0C$3DAV(C [
M(=J)0.V$;"<"MQ/"G0CD3DAW(K [(=Z)0&]!O85 ;T&]A4!OF3QL$^@MJ+<0
MZ"VHMQ#H+:BW$.@MJ+<0Z"VHMQ#H+:BW$.@MJ+<0Z*VHMQ+HK:BW$NBMJ+<2
MZ*V3ER4$>BOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'HKZJT$>AOJ;01Z&^IM
M!'H;ZFT$>AOJ;01ZV^1E-X'>AGH;@=Z&>AN!WH9Z&X'>AGH;@=Z&>AN!WAGU
MS@1Z9]0[$^B=4>],H'=&O3.!WAGUS@1ZY\G'2@*],^J="?3.J'<FT#NCWIE
M[XQZ9P*]'?5V KT=]78"O1WU=@*]'?5V KT=]78"O1WU=@*]??*S"8'>CGH[
M@=Z.>CN!WHYZ.X'>@7H'@=Z!>@>!WH%Z!X'>@7H'@=Z!>@>!WH%Z!X'>@7H'
M@=XQ^5F00.] O8- [T"]@T#O!O5N"/1N4.^&0.\&]6Z^4^]A_#R4X=;SM<;K
M?R?5X^7<<KO\=?FU<W)?KCC7]Q7#\U]02P,$%     @ 28A36A(!8E A @
M("\  !,   !;0V]N=&5N=%]4>7!E<UTN>&ULS=K?3MLP% ;P5ZERBQK7_\M$
MN=FXW;C8"WC)*8V:Q)9MH+S]G!20-K$*5*1]-XU:V^<[\9%^5[WZ^10H+0Y#
M/Z9-M<LY?&$L-3L:7*I]H+&L;'T<7"Y?XQT+KMF[.V)BM3*L\6.F,2_S5*.Z
MOOI&6W??Y\7-H?R<.C]NJDA]JA9?CQNGK$WE0NB[QN6RSA[&]J^4Y7-"74[.
M>]*N"^FB;*C8FPG3RK\#GL_]>* 8NY86MR[F[VXHN]BA9RD_]93JTR7>Z-%O
MMUU#K6_NAW*D3B&2:]..* ]]?2QZ<3HYEQNFXR<_.W\N<RJP[+R-/J0RL4@?
MCWL9R71Z&4HABKD[_8JOB:7TV>]'T[1;:M^97:[WT<?]/(_$YL?Y=_SGC%_K
M?[ / =*'!.E#@?2A0?HP('U8D#[6('U<@O3!5RB-H(C*44CE**9R%%0YBJH<
MA56.XBI'@96CR"I09!4HL@H4606*K )%5H$BJT"15:#(*E!D%2BR2A19)8JL
M$D56B2*K1)%5HL@J4625*+)*%%DEBJP*15:%(JM"D56AR*I09%4HLBH4616*
MK I%5H4BJT:15:/(JE%DU2BR:A19-8JL&D56C2*K1I%5H\AJ4&0U*+(:%%D-
MBJP&15:#(JM!D=6@R&I09#4HLEH462V*K!9%5HLBJT61U:+(:E%DM2BR6A19
M+8JL:Q19URBRKO^GK+^\WW]R_/RL!]>-+_EL_F/\]6]02P$"% ,4    " !)
MB%-:!T%-8H$   "Q    $               @ $     9&]C4')O<',O87!P
M+GAM;%!+ 0(4 Q0    ( $F(4UIZ$MD-[@   "L"   1              "
M :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0    ( $F(4UJ97)PC$ 8
M )PG   3              "  <P!  !X;"]T:&5M92]T:&5M93$N>&UL4$L!
M A0#%     @ 28A36K 'I(--"   N#4  !@              ("!#0@  'AL
M+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0    ( $F(4UJ SA:@O0,
M )0)   8              " @9 0  !X;"]W;W)K<VAE971S+W-H965T,BYX
M;6Q02P$"% ,4    " !)B%-:!<A%)/H&  "1(   &               @(&#
M%   >&PO=V]R:W-H965T<R]S:&5E=#,N>&UL4$L! A0#%     @ 28A36I4I
M@=8" P  $PL  !@              ("!LQL  'AL+W=O<FMS:&5E=',O<VAE
M970T+GAM;%!+ 0(4 Q0    ( $F(4UH.XDI\4 8  ,H<   8
M  " @>L>  !X;"]W;W)K<VAE971S+W-H965T-2YX;6Q02P$"% ,4    " !)
MB%-:U:J#GSL&  !>*@  &               @(%Q)0  >&PO=V]R:W-H965T
M<R]S:&5E=#8N>&UL4$L! A0#%     @ 28A36E!;?KZ( @  MP8  !@
M         ("!XBL  'AL+W=O<FMS:&5E=',O<VAE970W+GAM;%!+ 0(4 Q0
M   ( $F(4UI6%C]BFP<  ($B   8              " @: N  !X;"]W;W)K
M<VAE971S+W-H965T."YX;6Q02P$"% ,4    " !)B%-:JV9>=&H5   9/
M&               @(%Q-@  >&PO=V]R:W-H965T<R]S:&5E=#DN>&UL4$L!
M A0#%     @ 28A36@ (!M \!   6@P  !D              ("!$4P  'AL
M+W=O<FMS:&5E=',O<VAE970Q,"YX;6Q02P$"% ,4    " !)B%-:3>X?([8"
M  "3!@  &0              @(&$4   >&PO=V]R:W-H965T<R]S:&5E=#$Q
M+GAM;%!+ 0(4 Q0    ( $F(4UK#K-]@M (  .0%   9              "
M@7%3  !X;"]W;W)K<VAE971S+W-H965T,3(N>&UL4$L! A0#%     @ 28A3
M6N(O:U'Z @  P08  !D              ("!7%8  'AL+W=O<FMS:&5E=',O
M<VAE970Q,RYX;6Q02P$"% ,4    " !)B%-:CK;/WK #  #Y"   &0
M        @(&-60  >&PO=V]R:W-H965T<R]S:&5E=#$T+GAM;%!+ 0(4 Q0
M   ( $F(4UIU57TB&P8  (T/   9              " @71=  !X;"]W;W)K
M<VAE971S+W-H965T,34N>&UL4$L! A0#%     @ 28A36E& J'%Z @  _ 4
M !D              ("!QF,  'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6Q0
M2P$"% ,4    " !)B%-:R%I24) "  "@!0  &0              @(%W9@
M>&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;%!+ 0(4 Q0    ( $F(4UH>D]HE
M0P,   0'   9              " @3YI  !X;"]W;W)K<VAE971S+W-H965T
M,3@N>&UL4$L! A0#%     @ 28A36M0K&.>. P  : @  !D
M ("!N&P  'AL+W=O<FMS:&5E=',O<VAE970Q.2YX;6Q02P$"% ,4    " !)
MB%-:$X3\%E0"  !R!0  &0              @(%]<   >&PO=V]R:W-H965T
M<R]S:&5E=#(P+GAM;%!+ 0(4 Q0    ( $F(4UIV;"$0K 8  ",/   9
M          " @0AS  !X;"]W;W)K<VAE971S+W-H965T,C$N>&UL4$L! A0#
M%     @ 28A36HZ<ZZ8X P  %0<  !D              ("!ZWD  'AL+W=O
M<FMS:&5E=',O<VAE970R,BYX;6Q02P$"% ,4    " !)B%-:W5'BTE4$  !Z
M"@  &0              @(%:?0  >&PO=V]R:W-H965T<R]S:&5E=#(S+GAM
M;%!+ 0(4 Q0    ( $F(4UIN19 (&P<  #(7   9              " @>:!
M  !X;"]W;W)K<VAE971S+W-H965T,C0N>&UL4$L! A0#%     @ 28A36IZ.
MKHXP"   Z!,  !D              ("!.(D  'AL+W=O<FMS:&5E=',O<VAE
M970R-2YX;6Q02P$"% ,4    " !)B%-:E>FGN%4#  #(!P  &0
M    @(&?D0  >&PO=V]R:W-H965T<R]S:&5E=#(V+GAM;%!+ 0(4 Q0    (
M $F(4UJM<G+9" ,  "<'   9              " @2N5  !X;"]W;W)K<VAE
M971S+W-H965T,C<N>&UL4$L! A0#%     @ 28A36B:8F>_,$@  NC(  !D
M             ("!:I@  'AL+W=O<FMS:&5E=',O<VAE970R."YX;6Q02P$"
M% ,4    " !)B%-:4/&C&L "   R!@  &0              @(%MJP  >&PO
M=V]R:W-H965T<R]S:&5E=#(Y+GAM;%!+ 0(4 Q0    ( $F(4UJ>="9X]P,
M )D(   9              " @62N  !X;"]W;W)K<VAE971S+W-H965T,S N
M>&UL4$L! A0#%     @ 28A36D@.[90_ P  ]PT  !D              ("!
MDK(  'AL+W=O<FMS:&5E=',O<VAE970S,2YX;6Q02P$"% ,4    " !)B%-:
M!$V":$T%  ">$P  &0              @($(M@  >&PO=V]R:W-H965T<R]S
M:&5E=#,R+GAM;%!+ 0(4 Q0    ( $F(4UH.V 5(.P@  *D<   9
M      " @8R[  !X;"]W;W)K<VAE971S+W-H965T,S,N>&UL4$L! A0#%
M  @ 28A36DT?D/*A%@  &D4  !D              ("!_L,  'AL+W=O<FMS
M:&5E=',O<VAE970S-"YX;6Q02P$"% ,4    " !)B%-:P6^+F:T"  !9!@
M&0              @('6V@  >&PO=V]R:W-H965T<R]S:&5E=#,U+GAM;%!+
M 0(4 Q0    ( $F(4UHF,TF,=0(  )(%   9              " @;K=  !X
M;"]W;W)K<VAE971S+W-H965T,S8N>&UL4$L! A0#%     @ 28A36M&/.+["
M @  Z@4  !D              ("!9N   'AL+W=O<FMS:&5E=',O<VAE970S
M-RYX;6Q02P$"% ,4    " !)B%-:IV;=2- "  !7!@  &0
M@(%?XP  >&PO=V]R:W-H965T<R]S:&5E=#,X+GAM;%!+ 0(4 Q0    ( $F(
M4UH=>$AHH@(  *<%   9              " @6;F  !X;"]W;W)K<VAE971S
M+W-H965T,SDN>&UL4$L! A0#%     @ 28A36JD$&*)A!   ,PL  !D
M         ("!/^D  'AL+W=O<FMS:&5E=',O<VAE970T,"YX;6Q02P$"% ,4
M    " !)B%-:S'U#8XH"  #B!0  &0              @('7[0  >&PO=V]R
M:W-H965T<R]S:&5E=#0Q+GAM;%!+ 0(4 Q0    ( $F(4UJ CI+/8 (  &<%
M   9              " @9CP  !X;"]W;W)K<VAE971S+W-H965T-#(N>&UL
M4$L! A0#%     @ 28A36K<<<@*6!   (0L  !D              ("!+_,
M 'AL+W=O<FMS:&5E=',O<VAE970T,RYX;6Q02P$"% ,4    " !)B%-:L/'[
M8$\#  !?!P  &0              @('\]P  >&PO=V]R:W-H965T<R]S:&5E
M=#0T+GAM;%!+ 0(4 Q0    ( $F(4UK8E#Q+"P0  .\)   9
M  " @8+[  !X;"]W;W)K<VAE971S+W-H965T-#4N>&UL4$L! A0#%     @
M28A36NJ R_+>!   P H  !D              ("!Q/\  'AL+W=O<FMS:&5E
M=',O<VAE970T-BYX;6Q02P$"% ,4    " !)B%-:&*QACV\#  "A!P  &0
M            @('9! $ >&PO=V]R:W-H965T<R]S:&5E=#0W+GAM;%!+ 0(4
M Q0    ( $F(4UI[<X\[+00  '<*   9              " @7\( 0!X;"]W
M;W)K<VAE971S+W-H965T-#@N>&UL4$L! A0#%     @ 28A36@FO&!XB!0
M]R$  !D              ("!XPP! 'AL+W=O<FMS:&5E=',O<VAE970T.2YX
M;6Q02P$"% ,4    " !)B%-:-N'+DPD#  #7"@  &0              @($\
M$@$ >&PO=V]R:W-H965T<R]S:&5E=#4P+GAM;%!+ 0(4 Q0    ( $F(4UHE
ML7CB^P(  .P)   9              " @7P5 0!X;"]W;W)K<VAE971S+W-H
M965T-3$N>&UL4$L! A0#%     @ 28A36N=\?]4@ P  U0X  !D
M     ("!KA@! 'AL+W=O<FMS:&5E=',O<VAE970U,BYX;6Q02P$"% ,4
M" !)B%-:I],F/XH"   C!P  &0              @($%' $ >&PO=V]R:W-H
M965T<R]S:&5E=#4S+GAM;%!+ 0(4 Q0    ( $F(4UKTMJ7$U@(  $D(   9
M              " @<8> 0!X;"]W;W)K<VAE971S+W-H965T-30N>&UL4$L!
M A0#%     @ 28A36GD'(5EQ @  G08  !D              ("!TR$! 'AL
M+W=O<FMS:&5E=',O<VAE970U-2YX;6Q02P$"% ,4    " !)B%-:C""][Z(#
M  ".$0  &0              @(%[) $ >&PO=V]R:W-H965T<R]S:&5E=#4V
M+GAM;%!+ 0(4 Q0    ( $F(4UJX:$]8ZP,   ,9   9              "
M@50H 0!X;"]W;W)K<VAE971S+W-H965T-3<N>&UL4$L! A0#%     @ 28A3
M6E]1^>S/ @  -P@  !D              ("!=BP! 'AL+W=O<FMS:&5E=',O
M<VAE970U."YX;6Q02P$"% ,4    " !)B%-:F1&XJ0("   ;!0  &0
M        @(%\+P$ >&PO=V]R:W-H965T<R]S:&5E=#4Y+GAM;%!+ 0(4 Q0
M   ( $F(4UHZS7=U6 0   <4   9              " @;4Q 0!X;"]W;W)K
M<VAE971S+W-H965T-C N>&UL4$L! A0#%     @ 28A36LA_R@O_ @  K0@
M !D              ("!1#8! 'AL+W=O<FMS:&5E=',O<VAE970V,2YX;6Q0
M2P$"% ,4    " !)B%-:6M3!E)P"  !X!P  &0              @(%Z.0$
M>&PO=V]R:W-H965T<R]S:&5E=#8R+GAM;%!+ 0(4 Q0    ( $F(4UJ2PSVJ
MP@(  .P)   9              " @4T\ 0!X;"]W;W)K<VAE971S+W-H965T
M-C,N>&UL4$L! A0#%     @ 28A36D072T5S @  ^08  !D
M ("!1C\! 'AL+W=O<FMS:&5E=',O<VAE970V-"YX;6Q02P$"% ,4    " !)
MB%-:\/KADZ0"  !T!P  &0              @('P00$ >&PO=V]R:W-H965T
M<R]S:&5E=#8U+GAM;%!+ 0(4 Q0    ( $F(4UJWJF>Z?P(  /8&   9
M          " @<M$ 0!X;"]W;W)K<VAE971S+W-H965T-C8N>&UL4$L! A0#
M%     @ 28A36NJF2 )) P  O@X  !D              ("!@4<! 'AL+W=O
M<FMS:&5E=',O<VAE970V-RYX;6Q02P$"% ,4    " !)B%-:0_LC3B<#  "2
M"@  &0              @($!2P$ >&PO=V]R:W-H965T<R]S:&5E=#8X+GAM
M;%!+ 0(4 Q0    ( $F(4UKWNNJ (P,  '<*   9              " @5].
M 0!X;"]W;W)K<VAE971S+W-H965T-CDN>&UL4$L! A0#%     @ 28A36LCE
M!/NG P  G P  !D              ("!N5$! 'AL+W=O<FMS:&5E=',O<VAE
M970W,"YX;6Q02P$"% ,4    " !)B%-:U#%#>>X$  !='   &0
M    @(&750$ >&PO=V]R:W-H965T<R]S:&5E=#<Q+GAM;%!+ 0(4 Q0    (
M $F(4UI,PLOO]P$  !8$   9              " @;Q: 0!X;"]W;W)K<VAE
M971S+W-H965T-S(N>&UL4$L! A0#%     @ 28A36JWV[HPL$0  M1T! !D
M             ("!ZEP! 'AL+W=O<FMS:&5E=',O<VAE970W,RYX;6Q02P$"
M% ,4    " !)B%-:@YPYKJT'  !12   &0              @(%-;@$ >&PO
M=V]R:W-H965T<R]S:&5E=#<T+GAM;%!+ 0(4 Q0    ( $F(4UHT$K$WUP,
M ,(5   9              " @3%V 0!X;"]W;W)K<VAE971S+W-H965T-S4N
M>&UL4$L! A0#%     @ 28A36J3*#-IR$0  BPP! !D              ("!
M/WH! 'AL+W=O<FMS:&5E=',O<VAE970W-BYX;6Q02P$"% ,4    " !)B%-:
M+1#D@_T$  !]%@  &0              @('HBP$ >&PO=V]R:W-H965T<R]S
M:&5E=#<W+GAM;%!+ 0(4 Q0    ( $F(4UJW(]L5W (  #<+   9
M      " @1R1 0!X;"]W;W)K<VAE971S+W-H965T-S@N>&UL4$L! A0#%
M  @ 28A36D*CIJ_Q!0  H"\  !D              ("!+Y0! 'AL+W=O<FMS
M:&5E=',O<VAE970W.2YX;6Q02P$"% ,4    " !)B%-:P3T3P+($  "Q#@
M&0              @(%7F@$ >&PO=V]R:W-H965T<R]S:&5E=#@P+GAM;%!+
M 0(4 Q0    ( $F(4UJ]C:YJ#00  "$1   9              " @4"? 0!X
M;"]W;W)K<VAE971S+W-H965T.#$N>&UL4$L! A0#%     @ 28A36B88\18;
M @  N 0  !D              ("!A*,! 'AL+W=O<FMS:&5E=',O<VAE970X
M,BYX;6Q02P$"% ,4    " !)B%-:">G5+3 #   D$P  #0
M@ '6I0$ >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0    ( $F(4UJ7BKL<P    !,"
M   +              "  3&I 0!?<F5L<R\N<F5L<U!+ 0(4 Q0    ( $F(
M4UJ\CEUZ!@8  )XU   /              "  1JJ 0!X;"]W;W)K8F]O:RYX
M;6Q02P$"% ,4    " !)B%-:9LT1.G0"  !M,   &@              @ %-
ML $ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4    " !)B%-:
M$@%B4"$"   @+P  $P              @ 'YL@$ 6T-O;G1E;G1?5'EP97-=
:+GAM;%!+!08     6@!: *T8  !+M0$    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<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>99
<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>101
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>234</ContextCount>
  <ElementCount>329</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>97</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>5</UnitCount>
  <MyReports>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>995100 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/dei/role/document/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>995300 - Document - Audit Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/dei/role/document/AuditInformation</Role>
      <ShortName>Audit Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>995301 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ConsolidatedBalanceSheet</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>995302 - Statement - Consolidated Balance Sheets (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals</Role>
      <ShortName>Consolidated Balance Sheets (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>995303 - Statement - Consolidated Statements of Income and Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ConsolidatedIncomeStatement</Role>
      <ShortName>Consolidated Statements of Income and Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>995304 - Statement - Consolidated Statements of Stockholders??? Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ShareholdersEquityType2or3</Role>
      <ShortName>Consolidated Statements of Stockholders??? Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>995305 - Statement - Consolidated Statements of Stockholders??? Equity (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ShareholdersEquityType2or3_Parentheticals</Role>
      <ShortName>Consolidated Statements of Stockholders??? Equity (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995306 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ConsolidatedCashFlow</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995307 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/SummaryofSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995308 - Disclosure - Revenue Recognition and Contracts with Customers</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/RevenueRecognitionandContractswithCustomers</Role>
      <ShortName>Revenue Recognition and Contracts with Customers</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995309 - Disclosure - Trade Receivables, Net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/TradeReceivablesNet</Role>
      <ShortName>Trade Receivables, Net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995310 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/Inventories</Role>
      <ShortName>Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995311 - Disclosure - Property, Plant and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/PropertyPlantandEquipment</Role>
      <ShortName>Property, Plant and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995312 - Disclosure - Other Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/OtherAssets</Role>
      <ShortName>Other Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995313 - Disclosure - Leased Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/LeasedAssets</Role>
      <ShortName>Leased Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995314 - Disclosure - Trade Accounts Payable and Accrued Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/TradeAccountsPayableandAccruedExpenses</Role>
      <ShortName>Trade Accounts Payable and Accrued Expenses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995315 - Disclosure - Accrued Dividends</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/AccruedDividends</Role>
      <ShortName>Accrued Dividends</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995316 - Disclosure - Line of Credit</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/LineofCredit</Role>
      <ShortName>Line of Credit</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995317 - Disclosure - Employee Benefit Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/EmployeeBenefitPlans</Role>
      <ShortName>Employee Benefit Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995318 - Disclosure - Other Operating Income, Net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/OtherOperatingIncomeNet</Role>
      <ShortName>Other Operating Income, Net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995319 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995320 - Disclosure - Earnings Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/EarningsPerShare</Role>
      <ShortName>Earnings Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995321 - Disclosure - Stock Repurchases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/StockRepurchases</Role>
      <ShortName>Stock Repurchases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995322 - Disclosure - Compensation Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/CompensationPlans</Role>
      <ShortName>Compensation Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995323 - Disclosure - Operating Segment Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/OperatingSegmentInformation</Role>
      <ShortName>Operating Segment Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995324 - Disclosure - Quarterly Results of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/QuarterlyResultsofOperationsUnaudited</Role>
      <ShortName>Quarterly Results of Operations (Unaudited)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995325 - Disclosure - Related Party Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/RelatedPartyTransactions</Role>
      <ShortName>Related Party Transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>995326 - Disclosure - Contingent Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ContingentLiabilities</Role>
      <ShortName>Contingent Liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>995327 - Disclosure - Financial Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/FinancialInstruments</Role>
      <ShortName>Financial Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>995328 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>995550 - Disclosure - Cybersecurity Risk Management and Strategy Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure</Role>
      <ShortName>Cybersecurity Risk Management and Strategy Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>996000 - Disclosure - Accounting Policies, by Policy (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/AccountingPoliciesByPolicy</Role>
      <ShortName>Accounting Policies, by Policy (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.ruger.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>996001 - Disclosure - Revenue Recognition and Contracts with Customers (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersTables</Role>
      <ShortName>Revenue Recognition and Contracts with Customers (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ruger.com/role/RevenueRecognitionandContractswithCustomers</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>996002 - Disclosure - Trade Receivables, Net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/TradeReceivablesNetTables</Role>
      <ShortName>Trade Receivables, Net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ruger.com/role/TradeReceivablesNet</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>996003 - Disclosure - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/InventoriesTables</Role>
      <ShortName>Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ruger.com/role/Inventories</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>996004 - Disclosure - Property, Plant and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/PropertyPlantandEquipmentTables</Role>
      <ShortName>Property, Plant and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ruger.com/role/PropertyPlantandEquipment</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>996005 - Disclosure - Other Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/OtherAssetsTables</Role>
      <ShortName>Other Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ruger.com/role/OtherAssets</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>996006 - Disclosure - Leased Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/LeasedAssetsTables</Role>
      <ShortName>Leased Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ruger.com/role/LeasedAssets</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>996007 - Disclosure - Trade Accounts Payable and Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/TradeAccountsPayableandAccruedExpensesTables</Role>
      <ShortName>Trade Accounts Payable and Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ruger.com/role/TradeAccountsPayableandAccruedExpenses</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>996008 - Disclosure - Other Operating Income, Net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/OtherOperatingIncomeNetTables</Role>
      <ShortName>Other Operating Income, Net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ruger.com/role/OtherOperatingIncomeNet</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>996009 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ruger.com/role/IncomeTaxes</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>996010 - Disclosure - Earnings Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/EarningsPerShareTables</Role>
      <ShortName>Earnings Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ruger.com/role/EarningsPerShare</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>996011 - Disclosure - Stock Repurchases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/StockRepurchasesTables</Role>
      <ShortName>Stock Repurchases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ruger.com/role/StockRepurchases</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>996012 - Disclosure - Operating Segment Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/OperatingSegmentInformationTables</Role>
      <ShortName>Operating Segment Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ruger.com/role/OperatingSegmentInformation</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>996013 - Disclosure - Quarterly Results of Operations (Unaudited) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/QuarterlyResultsofOperationsUnauditedTables</Role>
      <ShortName>Quarterly Results of Operations (Unaudited) (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ruger.com/role/QuarterlyResultsofOperationsUnaudited</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>996014 - Disclosure - Contingent Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ContingentLiabilitiesTables</Role>
      <ShortName>Contingent Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ruger.com/role/ContingentLiabilities</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>996015 - Disclosure - Summary of Significant Accounting Policies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>996016 - Disclosure - Revenue Recognition and Contracts with Customers (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersDetails</Role>
      <ShortName>Revenue Recognition and Contracts with Customers (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>996017 - Disclosure - Revenue Recognition and Contracts with Customers - Schedule of Revenue Recognized (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofRevenueRecognizedTable</Role>
      <ShortName>Revenue Recognition and Contracts with Customers - Schedule of Revenue Recognized (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>996018 - Disclosure - Trade Receivables, Net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/TradeReceivablesNetDetails</Role>
      <ShortName>Trade Receivables, Net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/TradeReceivablesNetTables</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>996019 - Disclosure - Trade Receivables, Net - Schedule of Trade Receivables (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofTradeReceivablesTable</Role>
      <ShortName>Trade Receivables, Net - Schedule of Trade Receivables (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>996020 - Disclosure - Inventories - Schedule of Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofInventoriesTable</Role>
      <ShortName>Inventories - Schedule of Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>996021 - Disclosure - Property, Plant and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/PropertyPlantandEquipmentDetails</Role>
      <ShortName>Property, Plant and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/PropertyPlantandEquipmentTables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>996022 - Disclosure - Property, Plant and Equipment - Schedule of Property, Plant and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable</Role>
      <ShortName>Property, Plant and Equipment - Schedule of Property, Plant and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>996023 - Disclosure - Other Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/OtherAssetsDetails</Role>
      <ShortName>Other Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/OtherAssetsTables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>996024 - Disclosure - Other Assets - Schedule of Other Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofOtherAssetsTable</Role>
      <ShortName>Other Assets - Schedule of Other Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>996025 - Disclosure - Leased Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/LeasedAssetsDetails</Role>
      <ShortName>Leased Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/LeasedAssetsTables</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>996026 - Disclosure - Leased Assets - Schedule of Right-of-Use Assets and Related Lease Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities</Role>
      <ShortName>Leased Assets - Schedule of Right-of-Use Assets and Related Lease Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>996027 - Disclosure - Leased Assets - Schedule of Operating Lease Liabilities Future Minimum Lease Payments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable</Role>
      <ShortName>Leased Assets - Schedule of Operating Lease Liabilities Future Minimum Lease Payments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>996028 - Disclosure - Trade Accounts Payable and Accrued Expenses - Schedule of Trade Accounts Payable and Accrued Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable</Role>
      <ShortName>Trade Accounts Payable and Accrued Expenses - Schedule of Trade Accounts Payable and Accrued Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>996029 - Disclosure - Accrued Dividends (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/AccruedDividendsDetails</Role>
      <ShortName>Accrued Dividends (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/AccruedDividends</ParentRole>
      <Position>63</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>996030 - Disclosure - Line of Credit (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/LineofCreditDetails</Role>
      <ShortName>Line of Credit (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/LineofCredit</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>996031 - Disclosure - Employee Benefit Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/EmployeeBenefitPlansDetails</Role>
      <ShortName>Employee Benefit Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/EmployeeBenefitPlans</ParentRole>
      <Position>65</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>996032 - Disclosure - Other Operating Income, Net - Schedule of Other Operating Income, Net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofOtherOperatingIncomeNetTable</Role>
      <ShortName>Other Operating Income, Net - Schedule of Other Operating Income, Net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>996033 - Disclosure - Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/IncomeTaxesDetails</Role>
      <ShortName>Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/IncomeTaxesTables</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>996034 - Disclosure - Income Taxes - Schedule of Federal and State Income Tax Provision (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable</Role>
      <ShortName>Income Taxes - Schedule of Federal and State Income Tax Provision (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>996035 - Disclosure - Income Taxes - Schedule of Effective Income Tax Rate Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable</Role>
      <ShortName>Income Taxes - Schedule of Effective Income Tax Rate Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>996036 - Disclosure - Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable</Role>
      <ShortName>Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>996037 - Disclosure - Earnings Per Share - Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable</Role>
      <ShortName>Earnings Per Share - Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>996038 - Disclosure - Stock Repurchases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/StockRepurchasesDetails</Role>
      <ShortName>Stock Repurchases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/StockRepurchasesTables</ParentRole>
      <Position>72</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>996039 - Disclosure - Stock Repurchases - Schedule of Repurchased Shares of its Common Stock (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable</Role>
      <ShortName>Stock Repurchases - Schedule of Repurchased Shares of its Common Stock (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>996040 - Disclosure - Compensation Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/CompensationPlansDetails</Role>
      <ShortName>Compensation Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/CompensationPlans</ParentRole>
      <Position>74</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>996041 - Disclosure - Operating Segment Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/OperatingSegmentInformationDetails</Role>
      <ShortName>Operating Segment Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/OperatingSegmentInformationTables</ParentRole>
      <Position>75</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>996042 - Disclosure - Operating Segment Information - Schedule of Operating Segment Financial Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable</Role>
      <ShortName>Operating Segment Information - Schedule of Operating Segment Financial Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>996043 - Disclosure - Quarterly Results of Operations (Unaudited) - Schedule of Quarterly Financial Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofQuarterlyFinancialInformationTable</Role>
      <ShortName>Quarterly Results of Operations (Unaudited) - Schedule of Quarterly Financial Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/QuarterlyResultsofOperationsUnauditedTables</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>996044 - Disclosure - Related Party Transactions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/RelatedPartyTransactionsDetails</Role>
      <ShortName>Related Party Transactions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/RelatedPartyTransactions</ParentRole>
      <Position>78</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>996045 - Disclosure - Contingent Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ContingentLiabilitiesDetails</Role>
      <ShortName>Contingent Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/ContingentLiabilitiesTables</ParentRole>
      <Position>79</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>996046 - Disclosure - Contingent Liabilities - Schedule of Roll-forward for Product Liability Reserve (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable</Role>
      <ShortName>Contingent Liabilities - Schedule of Roll-forward for Product Liability Reserve (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>996047 - Disclosure - Contingent Liabilities - Schedule of Product Liability Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable</Role>
      <ShortName>Contingent Liabilities - Schedule of Product Liability Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="rgr-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>996048 - Disclosure - Subsequent Events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ruger.com/role/SubsequentEventsDetails</Role>
      <ShortName>Subsequent Events (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ruger.com/role/SubsequentEvents</ParentRole>
      <Position>82</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="rgr-20241231.htm">rgr-20241231.htm</File>
    <File>rgr-20241231.xsd</File>
    <File>rgr-20241231_cal.xml</File>
    <File>rgr-20241231_def.xml</File>
    <File>rgr-20241231_lab.xml</File>
    <File>rgr-20241231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>image_001.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="22">http://fasb.org/srt/2024</BaseTaxonomy>
    <BaseTaxonomy items="831">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="10">http://xbrl.sec.gov/cyd/2024</BaseTaxonomy>
    <BaseTaxonomy items="39">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
    <BaseTaxonomy items="10">http://xbrl.sec.gov/ecd/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>103
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "rgr-20241231.htm": {
   "nsprefix": "rgr",
   "nsuri": "http://www.ruger.com/20241231",
   "dts": {
    "inline": {
     "local": [
      "rgr-20241231.htm"
     ]
    },
    "schema": {
     "local": [
      "rgr-20241231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd",
      "https://xbrl.sec.gov/country/2024/country-2024.xsd",
      "https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd",
      "https://xbrl.sec.gov/cyd/2024/cyd-af-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024_def.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024_lab.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024_pre.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-sub-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd",
      "https://xbrl.sec.gov/sic/2024/sic-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "rgr-20241231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "rgr-20241231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "rgr-20241231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "rgr-20241231_pre.xml"
     ]
    }
   },
   "keyStandard": 303,
   "keyCustom": 26,
   "axisStandard": 24,
   "axisCustom": 0,
   "memberStandard": 23,
   "memberCustom": 71,
   "hidden": {
    "total": 53,
    "http://www.ruger.com/20241231": 4,
    "http://xbrl.sec.gov/dei/2024": 7,
    "http://fasb.org/us-gaap/2024": 35,
    "http://fasb.org/srt/2024": 7
   },
   "contextCount": 234,
   "entityCount": 1,
   "segmentCount": 97,
   "elementCount": 790,
   "unitCount": 5,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 831,
    "http://xbrl.sec.gov/dei/2024": 39,
    "http://fasb.org/srt/2024": 22,
    "http://xbrl.sec.gov/ecd/2024": 10,
    "http://xbrl.sec.gov/cyd/2024": 10
   },
   "report": {
    "R1": {
     "role": "http://xbrl.sec.gov/dei/role/document/Cover",
     "longName": "995100 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://xbrl.sec.gov/dei/role/document/AuditInformation",
     "longName": "995300 - Document - Audit Information",
     "shortName": "Audit Information",
     "isDefault": "false",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "2",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "dei:AuditorName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "dei:AuditorName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.ruger.com/role/ConsolidatedBalanceSheet",
     "longName": "995301 - Statement - Consolidated Balance Sheets",
     "shortName": "Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals",
     "longName": "995302 - Statement - Consolidated Balance Sheets (Parentheticals)",
     "shortName": "Consolidated Balance Sheets (Parentheticals)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:TreasuryStockCommonShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:TreasuryStockCommonShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.ruger.com/role/ConsolidatedIncomeStatement",
     "longName": "995303 - Statement - Consolidated Statements of Income and Comprehensive Income",
     "shortName": "Consolidated Statements of Income and Comprehensive Income",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:Revenues",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SellingExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.ruger.com/role/ShareholdersEquityType2or3",
     "longName": "995304 - Statement - Consolidated Statements of Stockholders\u2019 Equity",
     "shortName": "Consolidated Statements of Stockholders\u2019 Equity",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "c17",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c17",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.ruger.com/role/ShareholdersEquityType2or3_Parentheticals",
     "longName": "995305 - Statement - Consolidated Statements of Stockholders\u2019 Equity (Parentheticals)",
     "shortName": "Consolidated Statements of Stockholders\u2019 Equity (Parentheticals)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.ruger.com/role/ConsolidatedCashFlow",
     "longName": "995306 - Statement - Consolidated Statements of Cash Flows",
     "shortName": "Consolidated Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "8",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.ruger.com/role/SummaryofSignificantAccountingPolicies",
     "longName": "995307 - Disclosure - Summary of Significant Accounting Policies",
     "shortName": "Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.ruger.com/role/RevenueRecognitionandContractswithCustomers",
     "longName": "995308 - Disclosure - Revenue Recognition and Contracts with Customers",
     "shortName": "Revenue Recognition and Contracts with Customers",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.ruger.com/role/TradeReceivablesNet",
     "longName": "995309 - Disclosure - Trade Receivables, Net",
     "shortName": "Trade Receivables, Net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.ruger.com/role/Inventories",
     "longName": "995310 - Disclosure - Inventories",
     "shortName": "Inventories",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.ruger.com/role/PropertyPlantandEquipment",
     "longName": "995311 - Disclosure - Property, Plant and Equipment",
     "shortName": "Property, Plant and Equipment",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.ruger.com/role/OtherAssets",
     "longName": "995312 - Disclosure - Other Assets",
     "shortName": "Other Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:OtherAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:OtherAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.ruger.com/role/LeasedAssets",
     "longName": "995313 - Disclosure - Leased Assets",
     "shortName": "Leased Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.ruger.com/role/TradeAccountsPayableandAccruedExpenses",
     "longName": "995314 - Disclosure - Trade Accounts Payable and Accrued Expenses",
     "shortName": "Trade Accounts Payable and Accrued Expenses",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.ruger.com/role/AccruedDividends",
     "longName": "995315 - Disclosure - Accrued Dividends",
     "shortName": "Accrued Dividends",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.ruger.com/role/LineofCredit",
     "longName": "995316 - Disclosure - Line of Credit",
     "shortName": "Line of Credit",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.ruger.com/role/EmployeeBenefitPlans",
     "longName": "995317 - Disclosure - Employee Benefit Plans",
     "shortName": "Employee Benefit Plans",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.ruger.com/role/OtherOperatingIncomeNet",
     "longName": "995318 - Disclosure - Other Operating Income, Net",
     "shortName": "Other Operating Income, Net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.ruger.com/role/IncomeTaxes",
     "longName": "995319 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.ruger.com/role/EarningsPerShare",
     "longName": "995320 - Disclosure - Earnings Per Share",
     "shortName": "Earnings Per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.ruger.com/role/StockRepurchases",
     "longName": "995321 - Disclosure - Stock Repurchases",
     "shortName": "Stock Repurchases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "rgr:StockRepurchasesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "rgr:StockRepurchasesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.ruger.com/role/CompensationPlans",
     "longName": "995322 - Disclosure - Compensation Plans",
     "shortName": "Compensation Plans",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.ruger.com/role/OperatingSegmentInformation",
     "longName": "995323 - Disclosure - Operating Segment Information",
     "shortName": "Operating Segment Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.ruger.com/role/QuarterlyResultsofOperationsUnaudited",
     "longName": "995324 - Disclosure - Quarterly Results of Operations (Unaudited)",
     "shortName": "Quarterly Results of Operations (Unaudited)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "26",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.ruger.com/role/RelatedPartyTransactions",
     "longName": "995325 - Disclosure - Related Party Transactions",
     "shortName": "Related Party Transactions",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "27",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.ruger.com/role/ContingentLiabilities",
     "longName": "995326 - Disclosure - Contingent Liabilities",
     "shortName": "Contingent Liabilities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "28",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LegalMattersAndContingenciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LegalMattersAndContingenciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.ruger.com/role/FinancialInstruments",
     "longName": "995327 - Disclosure - Financial Instruments",
     "shortName": "Financial Instruments",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "29",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.ruger.com/role/SubsequentEvents",
     "longName": "995328 - Disclosure - Subsequent Events",
     "shortName": "Subsequent Events",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "30",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "31",
     "firstAnchor": {
      "contextRef": "c124",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R32": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "32",
     "firstAnchor": {
      "contextRef": "c124",
      "name": "ecd:MtrlTermsOfTrdArrTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c124",
      "name": "ecd:MtrlTermsOfTrdArrTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure",
     "longName": "995550 - Disclosure - Cybersecurity Risk Management and Strategy Disclosure",
     "shortName": "Cybersecurity Risk Management and Strategy Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "33",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.ruger.com/role/AccountingPoliciesByPolicy",
     "longName": "996000 - Disclosure - Accounting Policies, by Policy (Policies)",
     "shortName": "Accounting Policies, by Policy (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "34",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "rgr:OrganizationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "rgr:OrganizationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersTables",
     "longName": "996001 - Disclosure - Revenue Recognition and Contracts with Customers (Tables)",
     "shortName": "Revenue Recognition and Contracts with Customers (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.ruger.com/role/TradeReceivablesNetTables",
     "longName": "996002 - Disclosure - Trade Receivables, Net (Tables)",
     "shortName": "Trade Receivables, Net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.ruger.com/role/InventoriesTables",
     "longName": "996003 - Disclosure - Inventories (Tables)",
     "shortName": "Inventories (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.ruger.com/role/PropertyPlantandEquipmentTables",
     "longName": "996004 - Disclosure - Property, Plant and Equipment (Tables)",
     "shortName": "Property, Plant and Equipment (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "38",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.ruger.com/role/OtherAssetsTables",
     "longName": "996005 - Disclosure - Other Assets (Tables)",
     "shortName": "Other Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "39",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfOtherAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OtherAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfOtherAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OtherAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.ruger.com/role/LeasedAssetsTables",
     "longName": "996006 - Disclosure - Leased Assets (Tables)",
     "shortName": "Leased Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "40",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.ruger.com/role/TradeAccountsPayableandAccruedExpensesTables",
     "longName": "996007 - Disclosure - Trade Accounts Payable and Accrued Expenses (Tables)",
     "shortName": "Trade Accounts Payable and Accrued Expenses (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "41",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.ruger.com/role/OtherOperatingIncomeNetTables",
     "longName": "996008 - Disclosure - Other Operating Income, Net (Tables)",
     "shortName": "Other Operating Income, Net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "42",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.ruger.com/role/IncomeTaxesTables",
     "longName": "996009 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "43",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:FederalIncomeTaxNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:FederalIncomeTaxNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.ruger.com/role/EarningsPerShareTables",
     "longName": "996010 - Disclosure - Earnings Per Share (Tables)",
     "shortName": "Earnings Per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "44",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.ruger.com/role/StockRepurchasesTables",
     "longName": "996011 - Disclosure - Stock Repurchases (Tables)",
     "shortName": "Stock Repurchases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "45",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfTreasuryStockByClassTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "rgr:StockRepurchasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfTreasuryStockByClassTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "rgr:StockRepurchasesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.ruger.com/role/OperatingSegmentInformationTables",
     "longName": "996012 - Disclosure - Operating Segment Information (Tables)",
     "shortName": "Operating Segment Information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "46",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.ruger.com/role/QuarterlyResultsofOperationsUnauditedTables",
     "longName": "996013 - Disclosure - Quarterly Results of Operations (Unaudited) (Tables)",
     "shortName": "Quarterly Results of Operations (Unaudited) (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "47",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.ruger.com/role/ContingentLiabilitiesTables",
     "longName": "996014 - Disclosure - Contingent Liabilities (Tables)",
     "shortName": "Contingent Liabilities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "48",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails",
     "longName": "996015 - Disclosure - Summary of Significant Accounting Policies (Details)",
     "shortName": "Summary of Significant Accounting Policies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SharebasedCompensationEffectOnEarningsPerShare",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:SharebasedCompensationEffectOnEarningsPerShare",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersDetails",
     "longName": "996016 - Disclosure - Revenue Recognition and Contracts with Customers (Details)",
     "shortName": "Revenue Recognition and Contracts with Customers (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "c4",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c4",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.ruger.com/role/ScheduleofRevenueRecognizedTable",
     "longName": "996017 - Disclosure - Revenue Recognition and Contracts with Customers - Schedule of Revenue Recognized (Details)",
     "shortName": "Revenue Recognition and Contracts with Customers - Schedule of Revenue Recognized (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "c4",
      "name": "us-gaap:ContractWithCustomerLiability",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DeferredIncomeRevenueRecognized",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.ruger.com/role/TradeReceivablesNetDetails",
     "longName": "996018 - Disclosure - Trade Receivables, Net (Details)",
     "shortName": "Trade Receivables, Net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "c53",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c53",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.ruger.com/role/ScheduleofTradeReceivablesTable",
     "longName": "996019 - Disclosure - Trade Receivables, Net - Schedule of Trade Receivables (Details)",
     "shortName": "Trade Receivables, Net - Schedule of Trade Receivables (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.ruger.com/role/ScheduleofInventoriesTable",
     "longName": "996020 - Disclosure - Inventories - Schedule of Inventories (Details)",
     "shortName": "Inventories - Schedule of Inventories (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.ruger.com/role/PropertyPlantandEquipmentDetails",
     "longName": "996021 - Disclosure - Property, Plant and Equipment (Details)",
     "shortName": "Property, Plant and Equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:Depreciation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R56": {
     "role": "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable",
     "longName": "996022 - Disclosure - Property, Plant and Equipment - Schedule of Property, Plant and Equipment (Details)",
     "shortName": "Property, Plant and Equipment - Schedule of Property, Plant and Equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c60",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.ruger.com/role/OtherAssetsDetails",
     "longName": "996023 - Disclosure - Other Assets (Details)",
     "shortName": "Other Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:OtherAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:OtherAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.ruger.com/role/ScheduleofOtherAssetsTable",
     "longName": "996024 - Disclosure - Other Assets - Schedule of Other Assets (Details)",
     "shortName": "Other Assets - Schedule of Other Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:FiniteLivedPatentsGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfOtherAssetsTableTextBlock",
       "us-gaap:OtherAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:FiniteLivedPatentsGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfOtherAssetsTableTextBlock",
       "us-gaap:OtherAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.ruger.com/role/LeasedAssetsDetails",
     "longName": "996025 - Disclosure - Leased Assets (Details)",
     "shortName": "Leased Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R60": {
     "role": "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities",
     "longName": "996026 - Disclosure - Leased Assets - Schedule of Right-of-Use Assets and Related Lease Liabilities (Details)",
     "shortName": "Leased Assets - Schedule of Right-of-Use Assets and Related Lease Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:OperatingLeaseLiabilityNoncurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:OperatingLeaseLiability",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable",
     "longName": "996027 - Disclosure - Leased Assets - Schedule of Operating Lease Liabilities Future Minimum Lease Payments (Details)",
     "shortName": "Leased Assets - Schedule of Operating Lease Liabilities Future Minimum Lease Payments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "c74",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c74",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable",
     "longName": "996028 - Disclosure - Trade Accounts Payable and Accrued Expenses - Schedule of Trade Accounts Payable and Accrued Expenses (Details)",
     "shortName": "Trade Accounts Payable and Accrued Expenses - Schedule of Trade Accounts Payable and Accrued Expenses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:AccountsPayableTradeCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:AccountsPayableTradeCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.ruger.com/role/AccruedDividendsDetails",
     "longName": "996029 - Disclosure - Accrued Dividends (Details)",
     "shortName": "Accrued Dividends (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "c75",
      "name": "us-gaap:DividendsPayableAmountPerShare",
      "unitRef": "usdPershares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c75",
      "name": "us-gaap:DividendsPayableAmountPerShare",
      "unitRef": "usdPershares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.ruger.com/role/LineofCreditDetails",
     "longName": "996030 - Disclosure - Line of Credit (Details)",
     "shortName": "Line of Credit (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "c79",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-6",
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c79",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-6",
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R65": {
     "role": "http://www.ruger.com/role/EmployeeBenefitPlansDetails",
     "longName": "996031 - Disclosure - Employee Benefit Plans (Details)",
     "shortName": "Employee Benefit Plans (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DefinedContributionPlanAdministrativeExpenses",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:DefinedContributionPlanAdministrativeExpenses",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.ruger.com/role/ScheduleofOtherOperatingIncomeNetTable",
     "longName": "996032 - Disclosure - Other Operating Income, Net - Schedule of Other Operating Income, Net (Details)",
     "shortName": "Other Operating Income, Net - Schedule of Other Operating Income, Net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "c15",
      "name": "us-gaap:GainLossOnSaleOfOtherAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock",
       "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c15",
      "name": "us-gaap:GainLossOnSaleOfOtherAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock",
       "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.ruger.com/role/IncomeTaxesDetails",
     "longName": "996033 - Disclosure - Income Taxes (Details)",
     "shortName": "Income Taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "rgr:CapitalizedAndAmortizedOverForIncomeTaxPurposes",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "unique": true
     }
    },
    "R68": {
     "role": "http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable",
     "longName": "996034 - Disclosure - Income Taxes - Schedule of Federal and State Income Tax Provision (Details)",
     "shortName": "Income Taxes - Schedule of Federal and State Income Tax Provision (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FederalIncomeTaxNoteTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FederalIncomeTaxNoteTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable",
     "longName": "996035 - Disclosure - Income Taxes - Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "shortName": "Income Taxes - Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R70": {
     "role": "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable",
     "longName": "996036 - Disclosure - Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Details)",
     "shortName": "Income Taxes - Schedule of Deferred Tax Assets and Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R71": {
     "role": "http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable",
     "longName": "996037 - Disclosure - Earnings Per Share - Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share (Details)",
     "shortName": "Earnings Per Share - Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "c124",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "unique": true
     }
    },
    "R72": {
     "role": "http://www.ruger.com/role/StockRepurchasesDetails",
     "longName": "996038 - Disclosure - Stock Repurchases (Details)",
     "shortName": "Stock Repurchases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "c3",
      "name": "us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R73": {
     "role": "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable",
     "longName": "996039 - Disclosure - Stock Repurchases - Schedule of Repurchased Shares of its Common Stock (Details)",
     "shortName": "Stock Repurchases - Schedule of Repurchased Shares of its Common Stock (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "c124",
      "name": "us-gaap:TreasuryStockSharesAcquired",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c124",
      "name": "us-gaap:TreasuryStockSharesAcquired",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R74": {
     "role": "http://www.ruger.com/role/CompensationPlansDetails",
     "longName": "996040 - Disclosure - Compensation Plans (Details)",
     "shortName": "Compensation Plans (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R75": {
     "role": "http://www.ruger.com/role/OperatingSegmentInformationDetails",
     "longName": "996041 - Disclosure - Operating Segment Information (Details)",
     "shortName": "Operating Segment Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "segments",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "segments",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R76": {
     "role": "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable",
     "longName": "996042 - Disclosure - Operating Segment Information - Schedule of Operating Segment Financial Information (Details)",
     "shortName": "Operating Segment Information - Schedule of Operating Segment Financial Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "c124",
      "name": "us-gaap:Revenues",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c30",
      "name": "us-gaap:Assets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "unique": true
     }
    },
    "R77": {
     "role": "http://www.ruger.com/role/ScheduleofQuarterlyFinancialInformationTable",
     "longName": "996043 - Disclosure - Quarterly Results of Operations (Unaudited) - Schedule of Quarterly Financial Information (Details)",
     "shortName": "Quarterly Results of Operations (Unaudited) - Schedule of Quarterly Financial Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "c124",
      "name": "us-gaap:Revenues",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c124",
      "name": "us-gaap:EarningsPerShareBasic",
      "unitRef": "usdPershares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "unique": true
     }
    },
    "R78": {
     "role": "http://www.ruger.com/role/RelatedPartyTransactionsDetails",
     "longName": "996044 - Disclosure - Related Party Transactions (Details)",
     "shortName": "Related Party Transactions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "c196",
      "name": "us-gaap:RelatedPartyTransactionAmountsOfTransaction",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c196",
      "name": "us-gaap:RelatedPartyTransactionAmountsOfTransaction",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R79": {
     "role": "http://www.ruger.com/role/ContingentLiabilitiesDetails",
     "longName": "996045 - Disclosure - Contingent Liabilities (Details)",
     "shortName": "Contingent Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "c0",
      "name": "rgr:ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-6",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c0",
      "name": "rgr:ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-6",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R80": {
     "role": "http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable",
     "longName": "996046 - Disclosure - Contingent Liabilities - Schedule of Roll-forward for Product Liability Reserve (Details)",
     "shortName": "Contingent Liabilities - Schedule of Roll-forward for Product Liability Reserve (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "c219",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c215",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "unique": true
     }
    },
    "R81": {
     "role": "http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable",
     "longName": "996047 - Disclosure - Contingent Liabilities - Schedule of Product Liability Expense (Details)",
     "shortName": "Contingent Liabilities - Schedule of Product Liability Expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "c228",
      "name": "us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ProductLiabilityContingenciesTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c228",
      "name": "us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ProductLiabilityContingenciesTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R82": {
     "role": "http://www.ruger.com/role/SubsequentEventsDetails",
     "longName": "996048 - Disclosure - Subsequent Events (Details)",
     "shortName": "Subsequent Events (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "c231",
      "name": "us-gaap:DividendsPayableAmountPerShare",
      "unitRef": "usdPershares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c231",
      "name": "us-gaap:DividendsPayableAmountPerShare",
      "unitRef": "usdPershares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rgr-20241231.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": "Significant Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableAndAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Trade accounts payable and accrued expenses",
        "terseLabel": "Trade accounts payable and accrued expenses",
        "label": "Accounts Payable and Accrued Liabilities, Current",
        "documentation": "Sum of the carrying values as of the balance sheet date of obligations incurred through that date and due within one year (or the operating cycle, if longer), including liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received, taxes, interest, rent and utilities, accrued salaries and bonuses, payroll taxes and fringe benefits."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r57"
     ]
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Accounts Payable and Accrued Expenses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "presentation": [
      "http://www.ruger.com/role/TradeAccountsPayableandAccruedExpenses"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade Accounts Payable and Accrued Expenses",
        "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]",
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r57",
      "r60",
      "r1008"
     ]
    },
    "us-gaap_AccountsPayableTradeCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableTradeCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable": {
       "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade accounts payable",
        "label": "Accounts Payable, Trade, Current",
        "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": [
      "r11",
      "r54"
     ]
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "presentation": [
      "http://www.ruger.com/role/TradeReceivablesNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Trade Receivables",
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r952"
     ]
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableGrossCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofTradeReceivablesTable": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofTradeReceivablesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade receivables",
        "label": "Accounts Receivable, before Allowance for Credit Loss, Current",
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r177",
      "r273",
      "r703"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://www.ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts Receivable [Member]",
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r684"
     ]
    },
    "us-gaap_AccountsReceivableNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Receivables, Net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.ruger.com/role/ScheduleofTradeReceivablesTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ScheduleofTradeReceivablesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total trade receivables",
        "terseLabel": "Trade receivables, net",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "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": [
      "r947"
     ]
    },
    "rgr_AccruedDividendsDetailsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "AccruedDividendsDetailsLineItems",
     "presentation": [
      "http://www.ruger.com/role/AccruedDividendsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Dividends (Details) [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_AccruedDividendsDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "AccruedDividendsDetailsTable",
     "presentation": [
      "http://www.ruger.com/role/AccruedDividendsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Dividends (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedEmployeeBenefitsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedEmployeeBenefitsCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee compensation and benefits",
        "label": "Accrued Employee Benefits, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedIncomeTaxesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable": {
       "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal excise taxes payable",
        "label": "Accrued Income Taxes, Current",
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r104"
     ]
    },
    "rgr_AccruedLegalExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "AccruedLegalExpenseMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued Legal Expense [Member]",
        "label": "Accrued Legal Expense Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 2.0
      },
      "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less allowances for depreciation",
        "negatedTerseLabel": "Less allowances for 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": [
      "r27",
      "r169",
      "r552"
     ]
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]",
        "terseLabel": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional paid-in capital",
        "label": "Additional Paid in Capital, Common Stock",
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital."
       }
      }
     },
     "auth_ref": [
      "r66"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional Paid-in Capital",
        "label": "Additional Paid-in Capital [Member]",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r597",
      "r932",
      "r933",
      "r934",
      "r936",
      "r1017",
      "r1068"
     ]
    },
    "dei_AdditionalSecurities462b": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AdditionalSecurities462b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Securities. 462(b)"
       }
      }
     },
     "auth_ref": [
      "r897"
     ]
    },
    "dei_AdditionalSecurities462bFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AdditionalSecurities462bFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Securities, 462(b), File Number"
       }
      }
     },
     "auth_ref": [
      "r897"
     ]
    },
    "dei_AdditionalSecuritiesEffective413b": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AdditionalSecuritiesEffective413b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Securities Effective, 413(b)"
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "dei_AddressTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AddressTypeDomain",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Address Type [Domain]",
        "documentation": "An entity may have several addresses for different purposes and this domain represents all such types."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount",
        "terseLabel": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r846"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]",
        "terseLabel": "Adjustment to Compensation:"
       }
      }
     },
     "auth_ref": [
      "r846"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]",
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r846"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]",
        "terseLabel": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r846"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "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": [
      "r36",
      "r37",
      "r382"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustments to reconcile net income to cash provided by operating activities:",
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdvertisingCostsPolicyTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advertising Costs",
        "label": "Advertising Cost [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for advertising cost."
       }
      }
     },
     "auth_ref": [
      "r123"
     ]
    },
    "us-gaap_AdvertisingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdvertisingExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advertising expenses",
        "label": "Advertising Expense",
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line."
       }
      }
     },
     "auth_ref": [
      "r418",
      "r730"
     ]
    },
    "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r888"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount",
        "terseLabel": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r796",
      "r807",
      "r823",
      "r858"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]",
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r799",
      "r810",
      "r826",
      "r861"
     ]
    },
    "ecd_AggtPnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtPnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Pension Adjustments Service Cost [Member]",
        "terseLabel": "Aggregate Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r889"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Adjustments to Compensation [Member]",
        "terseLabel": "All Adjustments to Compensation"
       }
      }
     },
     "auth_ref": [
      "r846"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Executive Categories [Member]",
        "terseLabel": "All Executive Categories"
       }
      }
     },
     "auth_ref": [
      "r853"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Individuals [Member]",
        "terseLabel": "All Individuals"
       }
      }
     },
     "auth_ref": [
      "r800",
      "r811",
      "r827",
      "r853",
      "r862",
      "r866",
      "r874"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Trading Arrangements [Member]",
        "terseLabel": "All Trading Arrangements"
       }
      }
     },
     "auth_ref": [
      "r872"
     ]
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total stock-based compensation",
        "label": "Share-Based Payment Arrangement, Expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r412",
      "r416"
     ]
    },
    "rgr_AllowanceForDiscountssAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "AllowanceForDiscountssAccountsReceivableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofTradeReceivablesTable": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofTradeReceivablesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Allowance for discounts",
        "documentation": "Allowance for discounts accounts receivable current.",
        "label": "Allowance For Discountss Accounts Receivable Current"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofTradeReceivablesTable": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofTradeReceivablesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Allowance for doubtful accounts",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r178",
      "r274",
      "r278"
     ]
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Patent amortization",
        "label": "Amortization of Intangible Assets",
        "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": [
      "r4",
      "r296",
      "r302",
      "r720"
     ]
    },
    "dei_AnnualInformationForm": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Information Form",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form."
       }
      }
     },
     "auth_ref": [
      "r803"
     ]
    },
    "dei_ApproximateDateOfCommencementOfProposedSaleToThePublic": {
     "xbrltype": "dateOrAsapItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ApproximateDateOfCommencementOfProposedSaleToThePublic",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Approximate Date of Commencement of Proposed Sale to Public",
        "documentation": "The approximate date of a commencement of a proposed sale of securities to the public. This element is disclosed in S-1, S-3, S-4, S-11, F-1, F-3 and F-10 filings."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_AprilTwentyEightToMayTwentyFiveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "AprilTwentyEightToMayTwentyFiveMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "April 28 to May 25 [Member]",
        "label": "April Twenty Eight To May Twenty Five Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Assets",
        "terseLabel": "Identifiable Assets",
        "label": "Assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r116",
      "r173",
      "r196",
      "r233",
      "r242",
      "r260",
      "r264",
      "r275",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r457",
      "r459",
      "r471",
      "r546",
      "r633",
      "r713",
      "r714",
      "r738",
      "r767",
      "r974",
      "r975",
      "r1024"
     ]
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "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": [
      "r164",
      "r181",
      "r196",
      "r275",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r457",
      "r459",
      "r471",
      "r738",
      "r974",
      "r975",
      "r1024"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current Assets",
        "label": "Assets, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Audited Annual Financial Statements",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements."
       }
      }
     },
     "auth_ref": [
      "r803"
     ]
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r780",
      "r783",
      "r803"
     ]
    },
    "dei_AuditorLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorLocation",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r780",
      "r783",
      "r803"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r780",
      "r783",
      "r803"
     ]
    },
    "dei_AuditorOpinionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorOpinionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Opinion [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r893"
     ]
    },
    "dei_AuditorTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_AugustTwentyEightToOctoberOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "AugustTwentyEightToOctoberOneMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "August 28 to October 1 [Member]",
        "label": "August Twenty Eight To October One Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_AugustTwentyFiveToSeptemberTwentyEightMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "AugustTwentyFiveToSeptemberTwentyEightMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "August 25 to September 28 [Member]",
        "label": "August Twenty Five To September Twenty Eight Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AwardDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardDateAxis",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Date [Axis]",
        "documentation": "Information by date or year award under share-based payment arrangement is granted."
       }
      }
     },
     "auth_ref": [
      "r980",
      "r981",
      "r982",
      "r983",
      "r984",
      "r985",
      "r986",
      "r987",
      "r988",
      "r989",
      "r990",
      "r991",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1005"
     ]
    },
    "us-gaap_AwardDateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardDateDomain",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Date [Domain]",
        "documentation": "Date or year award under share-based payment arrangement is granted."
       }
      }
     },
     "auth_ref": [
      "r980",
      "r981",
      "r982",
      "r983",
      "r984",
      "r985",
      "r986",
      "r987",
      "r988",
      "r989",
      "r990",
      "r991",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1005"
     ]
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price",
        "terseLabel": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r869"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value",
        "terseLabel": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r870"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]",
        "terseLabel": "Award Timing Disclosures"
       }
      }
     },
     "auth_ref": [
      "r865"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]",
        "terseLabel": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r865"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]",
        "terseLabel": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r865"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]",
        "terseLabel": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r865"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]",
        "terseLabel": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r865"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]",
        "terseLabel": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r865"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails",
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount",
        "terseLabel": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r868"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r867"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures"
       }
      }
     },
     "auth_ref": [
      "r866"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r866"
     ]
    },
    "rgr_BadDebtExpenseInTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "BadDebtExpenseInTerm",
     "presentation": [
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Bad debt expense in term",
        "documentation": "Bad debt expense in term.",
        "label": "Bad Debt Expense In Term"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingAndBuildingImprovementsMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Building and Building Improvements [Member]",
        "label": "Building and Building Improvements [Member]",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingMember",
     "presentation": [
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Building [Member]",
        "label": "Building [Member]",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities."
       }
      }
     },
     "auth_ref": [
      "r96"
     ]
    },
    "dei_BusinessContactMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "BusinessContactMember",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Contact [Member]",
        "documentation": "Business contact for the entity"
       }
      }
     },
     "auth_ref": [
      "r783",
      "r803"
     ]
    },
    "rgr_CapitalizedAndAmortizedOverForIncomeTaxPurposes": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "CapitalizedAndAmortizedOverForIncomeTaxPurposes",
     "presentation": [
      "http://www.ruger.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capitalized and amortized over for income tax purposes",
        "documentation": "Capitalized and amortized over for income tax purposes.",
        "label": "Capitalized And Amortized Over For Income Tax Purposes"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "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": [
      "r14",
      "r167",
      "r701"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and Cash Equivalents",
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash and cash equivalents at beginning of year",
        "periodEndLabel": "Cash and cash equivalents at end of year",
        "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": [
      "r14",
      "r87",
      "r193"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "(Decrease) increase in cash and cash equivalents",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding 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",
      "r87"
     ]
    },
    "rgr_CastingsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "CastingsAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Castings",
        "label": "Castings Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_CastingsAbstract0": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "CastingsAbstract0",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Castings",
        "label": "Castings Abstract0"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_CastingsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "CastingsMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Castings [Member]",
        "label": "Castings Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_CastingsSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "CastingsSalesMember",
     "presentation": [
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Castings Sales [Member]",
        "label": "Castings Sales Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_CastingsUnaffiliatedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "CastingsUnaffiliatedMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Castings Unaffiliated [Member]",
        "label": "Castings Unaffiliated Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ChangeInAccountingEstimateLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ChangeInAccountingEstimateLineItems",
     "presentation": [
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Accounting Policies [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": [
      "r209"
     ]
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]",
        "terseLabel": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]",
        "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r841"
     ]
    },
    "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]",
        "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r839"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ClassOfStockDomain",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Domain]",
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r174",
      "r175",
      "r176",
      "r196",
      "r219",
      "r223",
      "r225",
      "r227",
      "r236",
      "r237",
      "r275",
      "r325",
      "r327",
      "r328",
      "r329",
      "r332",
      "r333",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r471",
      "r588",
      "r589",
      "r590",
      "r591",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r621",
      "r642",
      "r664",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r905",
      "r927",
      "r937"
     ]
    },
    "us-gaap_ClassOfTreasuryStockTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ClassOfTreasuryStockTable",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "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": [
      "r28",
      "r29",
      "r30",
      "r31"
     ]
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount",
        "terseLabel": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r845"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name",
        "terseLabel": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r845"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingent liabilities (Note 20)",
        "label": "Commitments and Contingencies",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r61",
      "r107",
      "r547",
      "r620"
     ]
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reserved shares for future issuance (in Shares)",
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "documentation": "Aggregate number of common shares reserved for future issuance."
       }
      }
     },
     "auth_ref": [
      "r65"
     ]
    },
    "us-gaap_CommonStockDividendsPerShareDeclared": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockDividendsPerShareDeclared",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash dividends per share (in Dollars per share)",
        "label": "Common Stock, Dividends, Per Share, Declared",
        "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding."
       }
      }
     },
     "auth_ref": [
      "r101"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals",
      "http://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Stock",
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r756",
      "r757",
      "r758",
      "r760",
      "r761",
      "r762",
      "r763",
      "r932",
      "r933",
      "r936",
      "r1017",
      "r1066",
      "r1068"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, par value (in Dollars per share)",
        "label": "Common Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r65"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares authorized",
        "label": "Common Stock, Shares Authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r621"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares issued",
        "label": "Common Stock, Shares, Issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r65"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares outstanding",
        "label": "Common Stock, Shares, Outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r65",
      "r621",
      "r639",
      "r1068",
      "r1069"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Stock, Value",
        "label": "Common Stock, Value, Issued",
        "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": [
      "r65",
      "r548",
      "r738"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r850"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r849"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r851"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r848"
     ]
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Benefit Plans [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_CompensationPlansDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "CompensationPlansDetailsTable",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Plans (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComponentsOfDeferredTaxAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComponentsOfDeferredTaxAssetsAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax assets",
        "label": "Components of Deferred Tax Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComponentsOfDeferredTaxLiabilitiesAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax liabilities:",
        "label": "Components of Deferred Tax Liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails",
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r22",
      "r42",
      "r43",
      "r271",
      "r684"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails",
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails",
      "http://www.ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r22",
      "r42",
      "r43",
      "r271",
      "r585",
      "r684"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails",
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails",
      "http://www.ruger.com/role/TradeReceivablesNetDetails"
     ],
     "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": [
      "r21",
      "r22",
      "r42",
      "r43",
      "r271",
      "r684",
      "r909"
     ]
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskLineItems",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Segment 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": [
      "r684"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails",
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails",
      "http://www.ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Percentage of sales",
        "verboseLabel": "Total trade receivables",
        "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": [
      "r21",
      "r22",
      "r42",
      "r43",
      "r271"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails",
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "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": [
      "r21",
      "r22",
      "r42",
      "r43",
      "r271",
      "r684"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Principles of Consolidation",
        "label": "Consolidation, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r704"
     ]
    },
    "dei_ContactPersonnelEmailAddress": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContactPersonnelEmailAddress",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contact Personnel Email Address",
        "documentation": "Email address of contact personnel."
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContactPersonnelFaxNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContactPersonnelFaxNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contact Personnel Fax Number",
        "documentation": "Fax Number of contact personnel."
       }
      }
     },
     "auth_ref": [
      "r783"
     ]
    },
    "dei_ContactPersonnelName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContactPersonnelName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contact Personnel Name",
        "documentation": "Name of contact personnel"
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContainedFileInformationFileDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContainedFileInformationFileDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contained File Information, File Description",
        "documentation": "The description of the contained file."
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContainedFileInformationFileName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContainedFileInformationFileName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contained File Information, File Name",
        "documentation": "The name of the contained file."
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContainedFileInformationFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContainedFileInformationFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contained File Information, File Number",
        "documentation": "The SEC Document Number of the contained file."
       }
      }
     },
     "auth_ref": []
    },
    "dei_ContainedFileInformationFileType": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContainedFileInformationFileType",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contained File Information, File Type",
        "documentation": "The type or format of the contained file (usually XBRL but may be used for other types such as HTML, Word, PDF, GIF/JPG, etc.)."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ContingentLiabilitiesDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ContingentLiabilitiesDetailsTable",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent Liabilities (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Revenue Recognized",
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability."
       }
      }
     },
     "auth_ref": [
      "r978"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRevenueRecognizedTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Contract liabilities with customers at beginning of period",
        "periodEndLabel": "Contract liabilities with customers at end of period",
        "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": [
      "r351",
      "r352",
      "r363"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract liabilities with customers (Note 2)",
        "label": "Contract with Customer, Liability, Current",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r351",
      "r352",
      "r363"
     ]
    },
    "rgr_CorporatesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "CorporatesMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Corporates [Member]",
        "label": "Corporates Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of products sold",
        "verboseLabel": "Costs of Goods Sold",
        "label": "Cost of Goods and Services Sold",
        "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": [
      "r76",
      "r77",
      "r509"
     ]
    },
    "rgr_CostsOfGoodsSoldAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "CostsOfGoodsSoldAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Costs of Goods Sold",
        "label": "Costs Of Goods Sold Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CountryRegion",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Country Region",
        "documentation": "Region code of country"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal, current",
        "label": "Current Federal Tax Expense (Benefit)",
        "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r911",
      "r930",
      "r1016"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Current",
        "label": "Current Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r441",
      "r930"
     ]
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State, current",
        "label": "Current State and Local Tax Expense (Benefit)",
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r911",
      "r930",
      "r1016"
     ]
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails",
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails",
      "http://www.ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer Concentration Risk [Member]",
        "label": "Customer Concentration Risk [Member]",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r271"
     ]
    },
    "rgr_CustomerFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "CustomerFourMember",
     "presentation": [
      "http://www.ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer Four [Member]",
        "label": "Customer Four Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_CustomerOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "CustomerOneMember",
     "presentation": [
      "http://www.ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer One [Member]",
        "label": "Customer One Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerRelationshipsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://www.ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer Relationships [Member]",
        "label": "Customer Relationships [Member]",
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r963",
      "r964"
     ]
    },
    "rgr_CustomerThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "CustomerThreeMember",
     "presentation": [
      "http://www.ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer Three [Member]",
        "label": "Customer Three Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_CustomerTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "CustomerTwoMember",
     "presentation": [
      "http://www.ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer Two [Member]",
        "label": "Customer Two Member"
       }
      }
     },
     "auth_ref": []
    },
    "cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cybersecurity Risk Board Committee or Subcommittee Responsible for Oversight [Text Block]",
        "label": "Cybersecurity Risk Board Committee or Subcommittee Responsible for Oversight [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r789",
      "r883"
     ]
    },
    "cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskBoardOfDirectorsOversightTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cybersecurity Risk Board of Directors Oversight [Text Block]",
        "label": "Cybersecurity Risk Board of Directors Oversight [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r789",
      "r883"
     ]
    },
    "cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cybersecurity Risk Management Expertise of Management Responsible [Text Block]",
        "label": "Cybersecurity Risk Management Expertise of Management Responsible [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r790",
      "r884"
     ]
    },
    "cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cybersecurity Risk Management Positions or Committees Responsible Report to Board [Flag]",
        "label": "Cybersecurity Risk Management Positions or Committees Responsible Report to Board [Flag]"
       }
      }
     },
     "auth_ref": [
      "r792",
      "r886"
     ]
    },
    "cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cybersecurity Risk Management Processes for Assessing, Identifying, and Managing Threats [Text Block]",
        "label": "Cybersecurity Risk Management Processes for Assessing, Identifying, and Managing Threats [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r786",
      "r880"
     ]
    },
    "cyd_CybersecurityRiskManagementProcessesIntegratedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementProcessesIntegratedFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cybersecurity Risk Management Processes Integrated [Flag]",
        "label": "Cybersecurity Risk Management Processes Integrated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r787",
      "r881"
     ]
    },
    "cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementProcessesIntegratedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cybersecurity Risk Management Processes Integrated [Text Block]",
        "label": "Cybersecurity Risk Management Processes Integrated [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r787",
      "r881"
     ]
    },
    "cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementStrategyAndGovernanceAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management, Strategy, and Governance [Abstract]"
       }
      }
     },
     "auth_ref": [
      "r785",
      "r879"
     ]
    },
    "cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementStrategyAndGovernanceLineItems",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management, Strategy, and Governance [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r785",
      "r879"
     ]
    },
    "cyd_CybersecurityRiskManagementStrategyAndGovernanceTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementStrategyAndGovernanceTable",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management, Strategy, and Governance [Table]"
       }
      }
     },
     "auth_ref": [
      "r785",
      "r879"
     ]
    },
    "cyd_CybersecurityRiskManagementThirdPartyEngagedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementThirdPartyEngagedFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cybersecurity Risk Management Third Party Engaged [Flag]",
        "label": "Cybersecurity Risk Management Third Party Engaged [Flag]"
       }
      }
     },
     "auth_ref": [
      "r788",
      "r882"
     ]
    },
    "cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cybersecurity Risk Process for Informing Board Committee or Subcommittee Responsible for Oversight [Text Block]",
        "label": "Cybersecurity Risk Process for Informing Board Committee or Subcommittee Responsible for Oversight [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r789",
      "r883"
     ]
    },
    "cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cybersecurity Risk Process for Informing Management or Committees Responsible [Text Block]",
        "label": "Cybersecurity Risk Process for Informing Management or Committees Responsible [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r791",
      "r885"
     ]
    },
    "rgr_DateOfRecord": {
     "xbrltype": "dateItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "DateOfRecord",
     "presentation": [
      "http://www.ruger.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Date of record",
        "documentation": "Date of record.",
        "label": "Date Of Record"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_DavidsonsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "DavidsonsMember",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Davidson\u2019s [Member]",
        "documentation": "Davidsons [Member]",
        "label": "Davidsons Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://www.ruger.com/role/LineofCredit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of Credit",
        "label": "Debt Disclosure [Text Block]",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r100",
      "r195",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r323",
      "r324",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r479"
     ]
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredCompensationArrangementWithIndividualCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation expense",
        "label": "Deferred Compensation Arrangement with Individual, Compensation Expense",
        "documentation": "The compensation expense recognized during the period pertaining to the deferred compensation arrangement."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r102"
     ]
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredCompensationArrangementWithIndividualSharesIssued",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred stock awards amount (in Shares)",
        "label": "Deferred Compensation Arrangement with Individual, Shares Issued",
        "documentation": "Number of shares issued pursuant to the terms of a deferred compensation arrangement."
       }
      }
     },
     "auth_ref": [
      "r35"
     ]
    },
    "rgr_DeferredContractRevenueLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "DeferredContractRevenueLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred contract revenue liability",
        "documentation": "Deferred contract revenue liability.",
        "label": "Deferred Contract Revenue Liability"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal, deferred",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r930",
      "r1015",
      "r1016"
     ]
    },
    "us-gaap_DeferredIncomeRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRevenueRecognizedTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Revenue recognized",
        "label": "Deferred Income, Revenue Recognized",
        "documentation": "Amount of revenue recognized previously reported as deferred income not accounted for under Topic 606."
       }
      }
     },
     "auth_ref": [
      "r1034",
      "r1062"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "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": [
      "r424",
      "r425"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred",
        "label": "Deferred Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r128",
      "r930"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deferred tax liabilities",
        "label": "Deferred Tax Liabilities, Gross",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r63",
      "r105",
      "r435"
     ]
    },
    "rgr_DeferredOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "DeferredOfRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred of revenue",
        "documentation": "Deferred of revenue.",
        "label": "Deferred Of Revenue"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredOtherTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredOtherTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred income taxes",
        "label": "Deferred Other Tax Expense (Benefit)",
        "documentation": "Amount of other deferred income tax expense (benefit) pertaining to income (loss) from continuing operations. For example, but not limited to, acquisition-date income tax benefits or expenses recognized from changes in the acquirer's valuation allowance for its previously existing deferred tax assets resulting from a business combination and adjustments to beginning-of-year balance of a valuation allowance because of a change in circumstance causing a change in judgment about the realizability of the related deferred tax asset in future periods."
       }
      }
     },
     "auth_ref": [
      "r930",
      "r1014"
     ]
    },
    "us-gaap_DeferredRevenueAdditions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredRevenueAdditions",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRevenueRecognizedTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue deferred",
        "label": "Deferred Revenue, Additions",
        "documentation": "Amount of deferred revenue recognized for transactions arising during the current reporting period. Deferred revenue is a liability as of the balance sheet date related to a revenue producing activity for which revenue has not yet been recognized. Generally, an Entity records deferred revenue when it receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized in conformity with GAAP."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofFederalandStateIncomeTaxProvisionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State, deferred",
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r930",
      "r1015",
      "r1016"
     ]
    },
    "rgr_DeferredStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "DeferredStockMember",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred Stock [Member]",
        "documentation": "Deferred Stock [Member]",
        "label": "Deferred Stock Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsInProcessResearchAndDevelopment",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capitalized research and development costs",
        "label": "Deferred Tax Asset, In-Process Research and Development",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from in-process research and development cost acquired in business combination or from joint venture formation or both."
       }
      }
     },
     "auth_ref": [
      "r1013"
     ]
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsInventory",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "label": "Deferred Tax Assets, Inventory",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory."
       }
      }
     },
     "auth_ref": [
      "r1013"
     ]
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net deferred tax assets",
        "label": "Deferred Tax Assets, Net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r1012"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total deferred tax assets",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r1012"
     ]
    },
    "us-gaap_DeferredTaxAssetsNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsNetAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsOther",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Deferred Tax Assets, Other",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other."
       }
      }
     },
     "auth_ref": [
      "r1013"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee compensation and benefits",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Employee Compensation",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from employee compensation."
       }
      }
     },
     "auth_ref": [
      "r1013"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-based compensation",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation."
       }
      }
     },
     "auth_ref": [
      "r1013"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Allowances for doubtful accounts and discounts",
        "label": "Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r1013"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesOther",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Deferred Tax Liabilities, Other",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other."
       }
      }
     },
     "auth_ref": [
      "r1013"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofDeferredTaxAssetsandLiabilitiesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": [
      "r1013"
     ]
    },
    "us-gaap_DefinedContributionPlanAdministrativeExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedContributionPlanAdministrativeExpenses",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/EmployeeBenefitPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expenses related to matching employee contributions",
        "label": "Defined Contribution Plan, Administrative Expense",
        "documentation": "Amount of administrative expense incurred by defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/EmployeeBenefitPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Supplemental contributions total",
        "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount",
        "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DelayedOrContinuousOffering": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DelayedOrContinuousOffering",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Delayed or Continuous Offering"
       }
      }
     },
     "auth_ref": [
      "r815",
      "r816",
      "r830"
     ]
    },
    "us-gaap_DepositAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepositAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofOtherAssetsTable": {
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOtherAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deposits on capital items",
        "label": "Deposit Assets",
        "documentation": "The carrying amount of the asset transferred to a third party to serve as a deposit, which typically serves as security against failure by the transferor to perform under terms of an agreement."
       }
      }
     },
     "auth_ref": [
      "r917"
     ]
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/PropertyPlantandEquipmentDetails",
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation",
        "verboseLabel": "Depreciation expense",
        "label": "Depreciation",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r26"
     ]
    },
    "us-gaap_DepreciationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation",
        "label": "Depreciation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation and amortization",
        "label": "Depreciation, Depletion and Amortization",
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r233",
      "r247",
      "r264",
      "r713",
      "r714"
     ]
    },
    "us-gaap_DerivativeInstrumentDetailAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeInstrumentDetailAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instruments [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_DirectorMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "DirectorMember",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Director [Member]",
        "label": "Director [Member]",
        "documentation": "Person serving on board of directors."
       }
      }
     },
     "auth_ref": [
      "r914",
      "r946",
      "r1067"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Compensation Plans",
        "label": "Share-Based Payment Arrangement [Text Block]",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r380",
      "r385",
      "r413",
      "r414",
      "r415",
      "r728"
     ]
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureTextBlockAbstract",
     "auth_ref": []
    },
    "dei_DividendOrInterestReinvestmentPlanOnly": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DividendOrInterestReinvestmentPlanOnly",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend or Interest Reinvestment Plan Only"
       }
      }
     },
     "auth_ref": [
      "r815",
      "r816",
      "r830"
     ]
    },
    "us-gaap_DividendPayableDateToBePaidDayMonthAndYear": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DividendPayableDateToBePaidDayMonthAndYear",
     "presentation": [
      "http://www.ruger.com/role/AccruedDividendsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividends payable, date to be paid",
        "label": "Dividends Payable, Date to be Paid",
        "documentation": "Date the declared dividend will be paid, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_DividendsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DividendsAxis",
     "presentation": [
      "http://www.ruger.com/role/AccruedDividendsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends [Axis]",
        "documentation": "Information by distribution of earnings to shareholder. Includes, but is not limited to, distribution paid and declared."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DividendsCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DividendsCommonStock",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Dividends paid",
        "label": "Dividends, Common Stock",
        "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash, stock and payment-in-kind (PIK)."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r101"
     ]
    },
    "rgr_DividendsCommonStockUnpaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "DividendsCommonStockUnpaid",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Unpaid dividends accrued",
        "documentation": "Amount of dividends declared, but unpaid, during period.",
        "label": "Dividends Common Stock Unpaid"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DividendsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DividendsDomain",
     "presentation": [
      "http://www.ruger.com/role/AccruedDividendsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends [Domain]",
        "documentation": "Distributions of earnings to shareholders including but not limited to cash, property or capital stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DividendsPayableAmountPerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DividendsPayableAmountPerShare",
     "presentation": [
      "http://www.ruger.com/role/AccruedDividendsDetails",
      "http://www.ruger.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividend payable per share",
        "verboseLabel": "Dividend authorized",
        "label": "Dividends Payable, Amount Per Share",
        "documentation": "The per share amount of a dividend declared, but not paid, as of the financial reporting date."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_DividendsPayableCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DividendsPayableCurrentAndNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/AccruedDividendsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividends Payable",
        "label": "Dividends Payable",
        "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r60",
      "r106",
      "r764",
      "r1033"
     ]
    },
    "us-gaap_DividendsPayableDateOfRecordDayMonthAndYear": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DividendsPayableDateOfRecordDayMonthAndYear",
     "presentation": [
      "http://www.ruger.com/role/AccruedDividendsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividends payable, date of record",
        "label": "Dividends Payable, Date of Record",
        "documentation": "Date the holder must own the stock to be entitled to the dividend, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Accounting Standard",
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'."
       }
      }
     },
     "auth_ref": [
      "r783"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r780",
      "r783",
      "r803"
     ]
    },
    "dei_DocumentCopyrightInformation": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentCopyrightInformation",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Copyright Information",
        "documentation": "The copyright information for the document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentCreationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentCreationDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Creation Date",
        "documentation": "The date the document was made available and submitted, in YYYY-MM-DD format. The date of submission, date of acceptance by the recipient, and the document effective date are all potentially different."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Description",
        "documentation": "The description of the document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentDomain",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document [Domain]",
        "documentation": "Type of the document as assigned by the filer, corresponding to SEC document naming convention standards."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentEffectiveDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentEffectiveDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Effective Date",
        "documentation": "The date when a document, upon receipt and acceptance, becomes officially effective, in YYYY-MM-DD format. Usually it is a system-assigned date time value, but it may be declared by the submitter in some cases."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r780",
      "r783",
      "r803",
      "r854"
     ]
    },
    "dei_DocumentFinStmtRestatementRecoveryAnalysisFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFinStmtRestatementRecoveryAnalysisFlag",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Restatement Recovery Analysis [Flag]",
        "documentation": "Indicates whether any of the financial statement periods include restatements that required a recovery analysis of incentive-based compensation received by any of the registrant's executive officers during the relevant recovery period pursuant to \u00a7240.10D-1(b)."
       }
      }
     },
     "auth_ref": [
      "r780",
      "r783",
      "r803",
      "r854"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationDocumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationDocumentAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information, Document [Axis]",
        "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document 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": []
    },
    "dei_DocumentInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Table]",
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Text Block]",
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Name",
        "documentation": "Name of the document as assigned by the filer, corresponding to SEC document naming convention standards. Examples appear in the &lt;FILENAME> field of EDGAR filings, such as 'htm_25911.htm', 'exhibit1.htm', 'v105727_8k.txt'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodStartDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodStartDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period Start Date",
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r781"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Registration Statement",
        "documentation": "Boolean flag that is true only for a form used as a registration statement."
       }
      }
     },
     "auth_ref": [
      "r769"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r783"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Report",
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r783"
     ]
    },
    "dei_DocumentSubtitle": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentSubtitle",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Subtitle",
        "documentation": "The subtitle given to the document resource by the creator or publisher. An example is 'A New Period of Growth'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentSynopsis": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentSynopsis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Synopsis",
        "documentation": "A synopsis or description of the document provided by the creator or publisher. Examples are 'This is the 2006 annual report for Company. During this period we saw revenue grow by 10% and earnings per share grow by 15% over the prior period'"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentTitle": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTitle",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Title",
        "documentation": "The name or title given to the document resource by the creator or publisher. An example is '2002 Annual Report'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentVersion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentVersion",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Version",
        "documentation": "The version identifier of the document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r772"
     ]
    },
    "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]",
        "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year"
       }
      }
     },
     "auth_ref": [
      "r843"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ScheduleofQuarterlyFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basic earnings per share (in Dollars per share)",
        "label": "Earnings Per Share, Basic",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r189",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r217",
      "r219",
      "r225",
      "r226",
      "r227",
      "r232",
      "r453",
      "r456",
      "r468",
      "r469",
      "r543",
      "r557",
      "r707"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ScheduleofQuarterlyFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Diluted earnings per share (in Dollars per share)",
        "label": "Earnings Per Share, Diluted",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r189",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r219",
      "r225",
      "r226",
      "r227",
      "r232",
      "r453",
      "r456",
      "r468",
      "r469",
      "r543",
      "r557",
      "r707"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnings per Share",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r19",
      "r229"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.ruger.com/role/EarningsPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnings Per Share",
        "label": "Earnings Per Share [Text Block]",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r216",
      "r228",
      "r230",
      "r231"
     ]
    },
    "us-gaap_EffectOfFourthQuarterEventsByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectOfFourthQuarterEventsByTypeAxis",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of Fourth Quarter Event Type [Axis]",
        "documentation": "Information by type of event or transaction that occurred during the fourth quarter."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_EffectOfFourthQuarterEventsTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectOfFourthQuarterEventsTypeDomain",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of Fourth Quarter Events, Type [Domain]",
        "documentation": "The type of event or transaction having a material effect on fourth quarter and fiscal year results."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "dei_EffectiveAfter60Days486a": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveAfter60Days486a",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective after 60 Days, 486(a)"
       }
      }
     },
     "auth_ref": [
      "r901"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/IncomeTaxesDetails",
      "http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective income tax rate",
        "terseLabel": "Effective tax rate",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r427",
      "r731"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statutory federal income tax rate",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r427",
      "r444",
      "r731"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r731",
      "r931",
      "r1009",
      "r1010"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State income taxes, net of federal tax benefit",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r429",
      "r731",
      "r931",
      "r1009"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsResearch",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofEffectiveIncomeTaxRateReconciliationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Research and development tax credits",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit."
       }
      }
     },
     "auth_ref": [
      "r731",
      "r931",
      "r1009",
      "r1011"
     ]
    },
    "dei_EffectiveOnDate486a": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveOnDate486a",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Date, 486(a)"
       }
      }
     },
     "auth_ref": [
      "r901"
     ]
    },
    "dei_EffectiveOnDate486b": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveOnDate486b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Date, 486(b)"
       }
      }
     },
     "auth_ref": [
      "r902"
     ]
    },
    "dei_EffectiveOnSetDate486a": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveOnSetDate486a",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Set Date, 486(a)"
       }
      }
     },
     "auth_ref": [
      "r901"
     ]
    },
    "dei_EffectiveOnSetDate486b": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveOnSetDate486b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective on Set Date, 486(b)"
       }
      }
     },
     "auth_ref": [
      "r902"
     ]
    },
    "dei_EffectiveUponFiling462e": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveUponFiling462e",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Upon Filing, 462(e)"
       }
      }
     },
     "auth_ref": [
      "r900"
     ]
    },
    "dei_EffectiveUponFiling486b": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveUponFiling486b",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective upon Filing, 486(b)"
       }
      }
     },
     "auth_ref": [
      "r902"
     ]
    },
    "dei_EffectiveWhenDeclaredSection8c": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EffectiveWhenDeclaredSection8c",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective when Declared, Section 8(c)"
       }
      }
     },
     "auth_ref": [
      "r904"
     ]
    },
    "rgr_EliminationsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "EliminationsMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Eliminations [Member]",
        "label": "Eliminations Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_EmployeeCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "EmployeeCompensation",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee compensation",
        "documentation": "Employee compensation.",
        "label": "Employee Compensation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized compensation cost",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost to be recognized for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1006"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntitiesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitiesTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entities [Table]",
        "documentation": "Container to assemble all relevant information about each entity associated with the document instance"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAccountingStandard": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAccountingStandard",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Accounting Standard",
        "documentation": "The standardized abbreviation of the accounting standard used by the entity. This can either be US GAAP as promulgated by the FASB or IFRS as promulgated by the IASB. Example: 'US GAAP', 'IFRS'. This is distinct from the Document Accounting Standard element."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Description",
        "documentation": "Description of the kind of address for the entity, if needed to distinguish more finely among mailing, principal, legal, accounting, contact or other addresses."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine3": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Three",
        "documentation": "Address Line 3 such as an Office Park"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressesAddressTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressesAddressTypeAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Addresses, Address Type [Axis]",
        "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressesLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Addresses [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": []
    },
    "dei_EntityAddressesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressesTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Addresses [Table]",
        "documentation": "Container of address information for the entity"
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Bankruptcy Proceedings, Reporting Current",
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not. Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element."
       }
      }
     },
     "auth_ref": [
      "r775"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityContactPersonnelLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityContactPersonnelLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Contact Personnel [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": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityDomain",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation",
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity [Domain]",
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Ex Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r903"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "dei_EntityHomeCountryISOCode": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityHomeCountryISOCode",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Home Country ISO Code",
        "documentation": "ISO 3166-1 alpha-2 country code for the Entity's home country. If home country is different from country of legal incorporation, then also provide country of legal incorporation in the 'Entity Incorporation, State Country Code' element."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityIncorporationDateOfIncorporation": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationDateOfIncorporation",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, Date of Incorporation",
        "documentation": "Date when an entity was incorporated"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInformationFormerLegalOrRegisteredName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInformationFormerLegalOrRegisteredName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Information, Former Legal or Registered Name",
        "documentation": "Former Legal or Registered Name of an entity"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInformationLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity 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": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r892"
     ]
    },
    "dei_EntityInvCompanyType": {
     "xbrltype": "invCompanyType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInvCompanyType",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Inv Company Type",
        "documentation": "One of: N-1A (Mutual Fund), N-1 (Open-End Separate Account with No Variable Annuities), N-2 (Closed-End Investment Company), N-3 (Separate Account Registered as Open-End Management Investment Company), N-4 (Variable Annuity UIT Separate Account), N-5 (Small Business Investment Company), N-6 (Variable Life UIT Separate Account), S-1 or S-3 (Face Amount Certificate Company), S-6 (UIT, Non-Insurance Product)."
       }
      }
     },
     "auth_ref": [
      "r891"
     ]
    },
    "dei_EntityLegalForm": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityLegalForm",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Legal Form",
        "documentation": "The details of the entity's legal form. Examples are partnership, limited liability company, trust, etc."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingDepositoryReceiptRatio": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingDepositoryReceiptRatio",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Depository Receipt Ratio",
        "documentation": "The number of underlying shares represented by one American Depository Receipt (ADR) or Global Depository Receipt (GDR). A value of '3' means that one ADR represents 3 underlying shares. If one underlying share represents 2 ADR's then the value would be represented as '0.5'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Description",
        "documentation": "Description of the kind of listing the entity has on the exchange, if necessary to further describe different instruments that are already distinguished by Entity, Exchange and Security."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingForeign": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingForeign",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Foreign",
        "documentation": "Yes or No value indicating whether this is a listing that is a foreign listing or depository receipt."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingParValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingParValuePerShare",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Par Value Per Share",
        "documentation": "The par value per share of security quoted in same currency as Trading currency. Example: '0.01'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingPrimary": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingPrimary",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Primary",
        "documentation": "Yes or No value indicating whether a listing of an instrument on an exchange is primary for the entity."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingSecurityTradingCurrency": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingSecurityTradingCurrency",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listing, Security Trading Currency",
        "documentation": "The three character ISO 4217 code for the currency in which the security is quoted. Example: 'USD'"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingsExchangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingsExchangeAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listings, Exchange [Axis]",
        "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityListingsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingsLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listings [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": []
    },
    "dei_EntityListingsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityListingsTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Listings [Table]",
        "documentation": "Container for exchange listing information for an entity"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityNumberOfEmployees": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityNumberOfEmployees",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Number of Employees",
        "documentation": "Number of persons employed by the Entity"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityPhoneFaxNumbersLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPhoneFaxNumbersLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Phone Fax Numbers [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": []
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r803"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "dei_EntityReportingCurrencyISOCode": {
     "xbrltype": "currencyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityReportingCurrencyISOCode",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Reporting Currency ISO Code",
        "documentation": "The three character ISO 4217 code for the currency used for reporting purposes. Example: 'USD'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "dei_EntityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity [Text Block]",
        "documentation": "Container to serve as parent of six Entity related Table concepts."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r894"
     ]
    },
    "ecd_EqtyAwrdsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Footnote [Text Block]",
        "terseLabel": "Equity Awards Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]",
        "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "ecd_EqtyAwrdsAdjsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments [Member]",
        "terseLabel": "Equity Awards Adjustments"
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r887"
     ]
    },
    "us-gaap_EquityClassOfTreasuryStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityClassOfTreasuryStockLineItems",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Repurchased Shares [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://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "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": [
      "r7",
      "r161",
      "r185",
      "r186",
      "r187",
      "r201",
      "r202",
      "r203",
      "r205",
      "r210",
      "r212",
      "r214",
      "r235",
      "r276",
      "r277",
      "r307",
      "r350",
      "r442",
      "r443",
      "r450",
      "r451",
      "r452",
      "r454",
      "r455",
      "r456",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r480",
      "r482",
      "r494",
      "r556",
      "r579",
      "r580",
      "r581",
      "r597",
      "r664"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]",
        "terseLabel": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r847"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]",
        "terseLabel": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r796",
      "r807",
      "r823",
      "r858"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]",
        "terseLabel": "Erroneously Awarded Compensation Recovery"
       }
      }
     },
     "auth_ref": [
      "r793",
      "r804",
      "r820",
      "r855"
     ]
    },
    "rgr_ExcessAndObsolescenceInventoryReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ExcessAndObsolescenceInventoryReserve",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Excess and obsolescence inventory reserve",
        "documentation": "Excess and obsolescence inventory reserve.",
        "label": "Excess And Obsolescence Inventory Reserve"
       }
      }
     },
     "auth_ref": []
    },
    "dei_ExchangeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ExchangeDomain",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exchange [Domain]",
        "documentation": "The set of all exchanges. MIC exchange codes are drawn from ISO 10383."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]",
        "terseLabel": "Executive Category:"
       }
      }
     },
     "auth_ref": [
      "r853"
     ]
    },
    "dei_ExhibitsOnly462d": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ExhibitsOnly462d",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exhibits Only, 462(d)"
       }
      }
     },
     "auth_ref": [
      "r899"
     ]
    },
    "dei_ExhibitsOnly462dFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ExhibitsOnly462dFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exhibits Only, 462(d), File Number"
       }
      }
     },
     "auth_ref": [
      "r899"
     ]
    },
    "rgr_ExportSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ExportSalesMember",
     "presentation": [
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Export Sales [Member]",
        "label": "Export Sales Member"
       }
      }
     },
     "auth_ref": []
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Extension",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Measurements of Short-term Investments",
        "label": "Fair Value Measurement, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_FebruaryTwentyFiveToMarchThirtyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "FebruaryTwentyFiveToMarchThirtyMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "February 25 to March 30 [Member]",
        "label": "February Twenty Five To March Thirty Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FederalIncomeTaxNoteTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FederalIncomeTaxNoteTextBlock",
     "presentation": [
      "http://www.ruger.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Federal and State Income Tax Provision",
        "label": "Federal Income Tax Note [Table Text Block]",
        "documentation": "Tabular disclosure of the federal tax basis of investment holdings. This item captures the aggregate cost of securities, aggregate gross unrealized appreciation for all securities in which there is an excess of value over tax cost, aggregate gross unrealized depreciation for all securities in which there is an excess of tax cost over value, net unrealized appreciation (depreciation), and an explanation of the differences between tax and book."
       }
      }
     },
     "auth_ref": [
      "r1065"
     ]
    },
    "us-gaap_FinancialInstrumentsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinancialInstrumentsDisclosureTextBlock",
     "presentation": [
      "http://www.ruger.com/role/FinancialInstruments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Financial Instruments",
        "label": "Financial Instruments Disclosure [Text Block]",
        "documentation": "The entire disclosure for financial instruments. This disclosure includes, but is not limited to, fair value measurements of short and long term marketable securities, international currencies forward contracts, and auction rate securities. Financial instruments may include hedging and non-hedging currency exchange instruments, derivatives, securitizations and securities available for sale at fair value. Also included are investment results, realized and unrealized gains and losses as well as impairments and risk management disclosures."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofOtherAssetsTable": {
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOtherAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated amortization",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r171",
      "r282",
      "r301",
      "r720"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated annual patent amortization expense after five years",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five",
        "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r961",
      "r1070"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated annual patent amortization expense 2024",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r303",
      "r696",
      "r720"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated annual patent amortization expense 2028",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r303",
      "r696",
      "r720"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated annual patent amortization expense 2027",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "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": [
      "r303",
      "r696",
      "r720"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated annual patent amortization expense 2026",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three",
        "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": [
      "r303",
      "r696",
      "r720"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated annual patent amortization expense 2025",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "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": [
      "r303",
      "r696",
      "r720"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.ruger.com/role/OtherAssetsDetails"
     ],
     "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": [
      "r295",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r304",
      "r305",
      "r510",
      "r511",
      "r696"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.ruger.com/role/OtherAssetsDetails"
     ],
     "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": [
      "r295",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r304",
      "r305",
      "r696"
     ]
    },
    "us-gaap_FiniteLivedPatentsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedPatentsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofOtherAssetsTable": {
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOtherAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Patents, at cost",
        "label": "Finite-Lived Patents, Gross",
        "documentation": "Gross carrying amount before accumulated amortization as of the balance sheet date of the costs pertaining to the exclusive legal rights granted to the owner of the patent to exploit an invention or a process for a period of time specified by law. Such costs may have been expended to directly apply and receive patent rights, or to acquire such rights."
       }
      }
     },
     "auth_ref": [
      "r916",
      "r960"
     ]
    },
    "rgr_FirearmsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "FirearmsMember",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable",
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net firearms sales",
        "verboseLabel": "Firearms [Member]",
        "documentation": "Firearms [Member]",
        "label": "Firearms Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_FirstQuarter2024Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "FirstQuarter2024Member",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "First Quarter 2024 [Member]",
        "label": "First Quarter2024 Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r800",
      "r811",
      "r827",
      "r862"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount",
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r800",
      "r811",
      "r827",
      "r862"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r800",
      "r811",
      "r827",
      "r862"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]",
        "terseLabel": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r800",
      "r811",
      "r827",
      "r862"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r800",
      "r811",
      "r827",
      "r862"
     ]
    },
    "dei_FormerAddressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "FormerAddressMember",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Former Address [Member]",
        "documentation": "Former address for entity"
       }
      }
     },
     "auth_ref": [
      "r782",
      "r814"
     ]
    },
    "dei_FormerFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "FormerFiscalYearEndDate",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Former Fiscal Year End Date",
        "documentation": "Former end date of previous fiscal years"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_FourthQuarter2022Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "FourthQuarter2022Member",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fourth Quarter 2022 [Member]",
        "label": "Fourth Quarter2022 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_FourthQuarter2023Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "FourthQuarter2023Member",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fourth Quarter 2023 [Member]",
        "label": "Fourth Quarter2023 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_FourthQuarter2024Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "FourthQuarter2024Member",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fourth Quarter 2024 [Member]",
        "label": "Fourth Quarter2024 Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]",
        "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year"
       }
      }
     },
     "auth_ref": [
      "r842"
     ]
    },
    "us-gaap_GainLossOnSaleOfOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnSaleOfOtherAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOtherOperatingIncomeNetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gain on sale of operating assets",
        "label": "Gain (Loss) on Disposition of Other Assets",
        "documentation": "Amount of gain (loss) on sale or disposal of other assets."
       }
      }
     },
     "auth_ref": [
      "r926"
     ]
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gain on sale of assets",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "General and administrative",
        "label": "General and Administrative Expense",
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r644"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Goodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "label": "Goodwill",
        "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r284",
      "r542",
      "r714",
      "r719",
      "r732",
      "r738",
      "r953",
      "r954"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined."
       }
      }
     },
     "auth_ref": [
      "r283",
      "r294",
      "r719"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable",
      "http://www.ruger.com/role/ScheduleofQuarterlyFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "terseLabel": "Gross Profit (Loss)",
        "verboseLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r78",
      "r115",
      "r196",
      "r275",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r471",
      "r708",
      "r713",
      "r939",
      "r941",
      "r942",
      "r943",
      "r944",
      "r974"
     ]
    },
    "rgr_GrossProfitLossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "GrossProfitLossAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gross Profit (Loss)",
        "label": "Gross Profit Loss Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r780",
      "r783",
      "r803"
     ]
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "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",
      "r98"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income before income taxes",
        "terseLabel": "Income (Loss) Before Income Taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r75",
      "r111",
      "r115",
      "r544",
      "r554",
      "r708",
      "r713",
      "r939",
      "r941",
      "r942",
      "r943",
      "r944"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.ruger.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Taxes",
        "label": "Income Tax Disclosure [Text Block]",
        "documentation": "The entire disclosure for income tax."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r421",
      "r427",
      "r430",
      "r431",
      "r432",
      "r433",
      "r437",
      "r445",
      "r447",
      "r448",
      "r449",
      "r593",
      "r731"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income taxes",
        "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": [
      "r120",
      "r129",
      "r213",
      "r214",
      "r233",
      "r250",
      "r264",
      "r426",
      "r427",
      "r446",
      "r558",
      "r731"
     ]
    },
    "us-gaap_IncomeTaxPaidFederalAfterRefundReceivedAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxPaidFederalAfterRefundReceivedAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Federal and State Income Tax Provision [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Taxes",
        "label": "Income Tax, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r184",
      "r422",
      "r423",
      "r433",
      "r434",
      "r436",
      "r440",
      "r587"
     ]
    },
    "us-gaap_IncomeTaxReconciliationDeductionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationDeductionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_IncomeTaxesDetailsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "IncomeTaxesDetailsLineItems",
     "presentation": [
      "http://www.ruger.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes (Details) [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_IncomeTaxesDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "IncomeTaxesDetailsTable",
     "presentation": [
      "http://www.ruger.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income tax payments",
        "label": "Income Taxes Paid, Net",
        "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r192",
      "r438",
      "r439"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade accounts payable and accrued expenses",
        "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities",
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Trade receivables",
        "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": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income taxes receivable/payable",
        "label": "Increase (Decrease) in Income Taxes Payable",
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract liability with customers",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r507",
      "r925"
     ]
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee compensation and benefits",
        "label": "Increase (Decrease) in Employee Related Liabilities",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Inventories",
        "label": "Increase (Decrease) in Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Changes in operating assets and liabilities:",
        "label": "Increase (Decrease) in Operating Capital [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid expenses, other assets and other liabilities",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "rgr_IncreaseDecreaseInProductLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "IncreaseDecreaseInProductLiability",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product liability",
        "documentation": "The net change during the reporting period in the Product liability expense which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters.",
        "label": "Increase Decrease In Product Liability"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dilutive effect of options and restricted stock units outstanding under the Company\u2019s employee compensation plans",
        "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": [
      "r220",
      "r221",
      "r222",
      "r227",
      "r384"
     ]
    },
    "us-gaap_IndefiniteLivedTradeNames": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IndefiniteLivedTradeNames",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofOtherAssetsTable": {
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOtherAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Marlin trade name, at cost",
        "label": "Indefinite-Lived Trade Names",
        "documentation": "Carrying amount (original costs adjusted for previously recognized amortization and impairment) as of the balance sheet date for the rights acquired through registration of a trade name to gain or protect exclusive use thereof for a projected indefinite period of benefit."
       }
      }
     },
     "auth_ref": [
      "r916",
      "r962"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]",
        "terseLabel": "Individual:"
       }
      }
     },
     "auth_ref": [
      "r800",
      "r811",
      "r827",
      "r853",
      "r862",
      "r866",
      "r874"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]",
        "terseLabel": "Insider Trading Arrangements:"
       }
      }
     },
     "auth_ref": [
      "r872"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]",
        "terseLabel": "Insider Trading Policies and Procedures:"
       }
      }
     },
     "auth_ref": [
      "r784",
      "r878"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]",
        "terseLabel": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r784",
      "r878"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]",
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r784",
      "r878"
     ]
    },
    "rgr_InsurancePremiumExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "InsurancePremiumExpenseMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Insurance Premium Expense [Member]",
        "label": "Insurance Premium Expense Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsNetExcludingGoodwillAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "label": "Intangible Assets, Net (Excluding Goodwill) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestExpenseNonoperating": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestExpenseNonoperating",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Interest expense",
        "label": "Interest Expense, Nonoperating",
        "documentation": "Amount of interest expense classified as nonoperating."
       }
      }
     },
     "auth_ref": [
      "r246",
      "r924"
     ]
    },
    "rgr_IntersegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "IntersegmentMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intersegment [Member]",
        "label": "Intersegment Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://www.ruger.com/role/Inventories"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "label": "Inventory Disclosure [Text Block]",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r279"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofInventoriesTable": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofInventoriesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finished goods",
        "label": "Inventory, Finished Goods, Gross",
        "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": [
      "r918"
     ]
    },
    "us-gaap_InventoryGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryGross",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.ruger.com/role/ScheduleofInventoriesTable": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ScheduleofInventoriesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross inventories",
        "terseLabel": "Gross inventories",
        "label": "Inventory, Gross",
        "documentation": "Gross 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": [
      "r920"
     ]
    },
    "us-gaap_InventoryLIFOReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryLIFOReserve",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0,
       "order": 2.0
      },
      "http://www.ruger.com/role/ScheduleofInventoriesTable": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ScheduleofInventoriesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less LIFO reserve",
        "negatedTerseLabel": "Less: LIFO reserve",
        "label": "Inventory, LIFO Reserve",
        "documentation": "Amount by which inventory stated at last-in first-out (LIFO) is less than (in excess of) inventory stated at other inventory cost methods."
       }
      }
     },
     "auth_ref": [
      "r919"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      },
      "http://www.ruger.com/role/ScheduleofInventoriesTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ScheduleofInventoriesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net inventories",
        "label": "Inventory, Net",
        "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": [
      "r180",
      "r702",
      "r738"
     ]
    },
    "us-gaap_InventoryNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNetAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofInventoriesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory at FIFO",
        "label": "Inventory, Net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "label": "Inventory, Policy [Policy Text Block]",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r121",
      "r166",
      "r179",
      "r279",
      "r280",
      "r281",
      "r508",
      "r705"
     ]
    },
    "us-gaap_InventoryValuationReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryValuationReserves",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0,
       "order": 3.0
      },
      "http://www.ruger.com/role/ScheduleofInventoriesTable": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ScheduleofInventoriesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less excess and obsolescence reserve",
        "negatedTerseLabel": "Less: excess and obsolescence reserve",
        "label": "Inventory Valuation Reserves",
        "documentation": "Amount of valuation reserve for inventory."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r920"
     ]
    },
    "us-gaap_InventoryWorkInProcessAndRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryWorkInProcessAndRawMaterials",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofInventoriesTable": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofInventoriesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Materials and products 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": [
      "r920"
     ]
    },
    "dei_InvestmentCompanyActFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "InvestmentCompanyActFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Act File Number"
       }
      }
     },
     "auth_ref": [
      "r816",
      "r817",
      "r818",
      "r819"
     ]
    },
    "dei_InvestmentCompanyActRegistration": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "InvestmentCompanyActRegistration",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Act Registration"
       }
      }
     },
     "auth_ref": [
      "r832"
     ]
    },
    "dei_InvestmentCompanyRegistrationAmendment": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "InvestmentCompanyRegistrationAmendment",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Registration Amendment"
       }
      }
     },
     "auth_ref": [
      "r832"
     ]
    },
    "dei_InvestmentCompanyRegistrationAmendmentNumber": {
     "xbrltype": "sequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "InvestmentCompanyRegistrationAmendmentNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Company Registration Amendment Number"
       }
      }
     },
     "auth_ref": [
      "r832"
     ]
    },
    "us-gaap_InvestmentIncomeInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentIncomeInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest income",
        "label": "Investment Income, Interest",
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities."
       }
      }
     },
     "auth_ref": [
      "r233",
      "r245",
      "r264",
      "r713",
      "r923"
     ]
    },
    "rgr_JanuaryOneToJanuaryTwentySevenMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "JanuaryOneToJanuaryTwentySevenMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "January 1 to January 27 [Member]",
        "label": "January One To January Twenty Seven Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_JanuaryTwentyEightToFebruaryTwentyFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "JanuaryTwentyEightToFebruaryTwentyFourMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "January 28 to February 24 [Member]",
        "label": "January Twenty Eight To February Twenty Four Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_JohnACosentinoJrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "JohnACosentinoJrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "John A. Cosentino, Jr [Member]",
        "label": "John ACosentino Jr Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_JulyThirtyoneToAugustTwentySevenMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "JulyThirtyoneToAugustTwentySevenMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "July 31 to August 27 [Member]",
        "label": "July Thirtyone To August Twenty Seven Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_JulyThreeToJulyThirtyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "JulyThreeToJulyThirtyMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "July 3 to July 30 [Member]",
        "label": "July Three To July Thirty Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_JulyTwentyEightToAugustTwentyFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "JulyTwentyEightToAugustTwentyFourMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "July 28 to August 24 [Member]",
        "label": "July Twenty Eight To August Twenty Four Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_JuneThirtyToJulyTwentySevenMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "JuneThirtyToJulyTwentySevenMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "June 30 to July 27 [Member]",
        "label": "June Thirty To July Twenty Seven Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LandImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LandImprovementsMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Land Improvements [Member]",
        "label": "Land Improvements [Member]",
        "documentation": "Additions or improvements to real estate held."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseContractualTermAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseContractualTermAxis",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease Contractual Term [Axis]",
        "documentation": "Information by contractual term of lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r493",
      "r910"
     ]
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseCostTableTextBlock",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Right-of-Use Assets and Related Lease Liabilities",
        "label": "Lease, Cost [Table Text Block]",
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income."
       }
      }
     },
     "auth_ref": [
      "r1020"
     ]
    },
    "rgr_LeaseLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "LeaseLiabilitiesMember",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease liabilities [Member]",
        "label": "Lease Liabilities Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "LeasedAssetsScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsDetailsTable",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leased Assets - Schedule of Operating Lease Liabilities Future Minimum Lease Payments (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsLineItems",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leased Assets - Schedule of Right-of-Use Assets and Related Lease Liabilities (Details) [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "LeasedAssetsScheduleofRightofUseAssetsandRelatedLeaseLiabilitiesDetailsTable",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leased Assets - Schedule of Right-of-Use Assets and Related Lease Liabilities (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leased Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/AuditInformation",
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LegalEntityIdentifier": {
     "xbrltype": "legalEntityIdentifierItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LegalEntityIdentifier",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity Identifier",
        "documentation": "A globally unique ISO 17442 value to identify entities, commonly abbreviated as LEI."
       }
      }
     },
     "auth_ref": [
      "r768"
     ]
    },
    "us-gaap_LegalMattersAndContingenciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LegalMattersAndContingenciesTextBlock",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contingent Liabilities",
        "label": "Legal Matters and Contingencies [Text Block]",
        "documentation": "The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies."
       }
      }
     },
     "auth_ref": [
      "r99"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Operating Lease Liabilities Future Minimum Lease Payments",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r1021"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total undiscounted future minimum lease payments",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r491"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Thereafter",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r491"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r491"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2029",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r491"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r491"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r491"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r491"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Difference between undiscounted lease payments &amp; the present value of future lease payments",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r491"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "LEASED ASSETS",
        "label": "Lessee, Operating Leases [Text Block]",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r481"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Liabilities and Stockholders\u2019 Equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r108",
      "r550",
      "r738",
      "r929",
      "r951",
      "r1019"
     ]
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "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": [
      "r58",
      "r165",
      "r196",
      "r275",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r458",
      "r459",
      "r460",
      "r471",
      "r738",
      "r974",
      "r1024",
      "r1025"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current Liabilities",
        "label": "Liabilities, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilityReserveEstimatePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilityReserveEstimatePolicy",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product Liability",
        "label": "Liability Reserve Estimate, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for estimating its liability as of the balance sheet date for the ultimate cost of settling reported and unreported claims incurred and claims adjustment expenses (including effects of inflation and other societal and economic factors)."
       }
      }
     },
     "auth_ref": [
      "r1035"
     ]
    },
    "us-gaap_LineOfCreditFacilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityExpirationDate1": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityExpirationDate1",
     "presentation": [
      "http://www.ruger.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revolving credit facility, expiration date",
        "label": "Line of Credit Facility, Expiration Date",
        "documentation": "Date the credit facility terminates, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r59"
     ]
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://www.ruger.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit [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": [
      "r324",
      "r928",
      "r973"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit agreement",
        "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": [
      "r55",
      "r59"
     ]
    },
    "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage",
     "presentation": [
      "http://www.ruger.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit unused portion per year",
        "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage",
        "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_LineofCreditDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "LineofCreditDetailsTable",
     "presentation": [
      "http://www.ruger.com/role/LineofCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_LipseysMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "LipseysMember",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lipsey\u2019s [Member]",
        "documentation": "Lipsey's [Member]",
        "label": "Lipseys Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
     "presentation": [
      "http://www.ruger.com/role/TradeReceivablesNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade Receivables, Net",
        "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]",
        "documentation": "The entire disclosure for claims held for amounts due to entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r479",
      "r945"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LossContingenciesByNatureOfContingencyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LossContingenciesByNatureOfContingencyAxis",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss Contingency Nature [Axis]",
        "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r316",
      "r317",
      "r318",
      "r321",
      "r417",
      "r584",
      "r721",
      "r967",
      "r969"
     ]
    },
    "us-gaap_LossContingenciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LossContingenciesLineItems",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent Liabilities [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": [
      "r316",
      "r317",
      "r318",
      "r321",
      "r417",
      "r721",
      "r967",
      "r969"
     ]
    },
    "us-gaap_LossContingencyAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LossContingencyAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingent Liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LossContingencyClaimsDismissedNumber": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LossContingencyClaimsDismissedNumber",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of lawsuit dismissed",
        "label": "Loss Contingency, Claims Dismissed, Number",
        "documentation": "Number of claims dismissed."
       }
      }
     },
     "auth_ref": [
      "r967",
      "r969"
     ]
    },
    "us-gaap_LossContingencyClaimsSettledNumber": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LossContingencyClaimsSettledNumber",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of lawsuits resolved",
        "label": "Loss Contingency, Claims Settled, Number",
        "documentation": "Number of claims settled."
       }
      }
     },
     "auth_ref": [
      "r967",
      "r969"
     ]
    },
    "us-gaap_LossContingencyDamagesSoughtValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LossContingencyDamagesSoughtValue",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total amount of damages claimed (in Dollars)",
        "label": "Loss Contingency, Damages Sought, Value",
        "documentation": "The value (monetary amount) of the award the plaintiff seeks in the legal matter."
       }
      }
     },
     "auth_ref": [
      "r966",
      "r967",
      "r969"
     ]
    },
    "us-gaap_LossContingencyNatureDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LossContingencyNatureDomain",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss Contingency, Nature [Domain]",
        "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability."
       }
      }
     },
     "auth_ref": [
      "r316",
      "r317",
      "r318",
      "r321",
      "r417",
      "r584",
      "r721",
      "r967",
      "r969"
     ]
    },
    "us-gaap_LossContingencyNewClaimsFiledNumber": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LossContingencyNewClaimsFiledNumber",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of lawsuits",
        "label": "Loss Contingency, New Claims Filed, Number",
        "documentation": "The total number of new claims filed pertaining to a loss contingency during the period."
       }
      }
     },
     "auth_ref": [
      "r967",
      "r969"
     ]
    },
    "rgr_LossContingencyNumberOfLawsuits": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "LossContingencyNumberOfLawsuits",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of lawsuits involving its products",
        "documentation": "Loss contingency, number of lawsuits.",
        "label": "Loss Contingency Number Of Lawsuits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable",
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Machinery and Equipment [Member]",
        "label": "Machinery and Equipment [Member]",
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails",
      "http://www.ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]",
        "documentation": "Information by name or description of a single external customer or a group of external customers."
       }
      }
     },
     "auth_ref": [
      "r271",
      "r725",
      "r748",
      "r753",
      "r979",
      "r1034",
      "r1036",
      "r1037",
      "r1039",
      "r1040",
      "r1041",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055",
      "r1056",
      "r1057",
      "r1058",
      "r1059",
      "r1060",
      "r1061",
      "r1063",
      "r1064"
     ]
    },
    "rgr_MarchThirtyOneToAprilTwentySevenMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "MarchThirtyOneToAprilTwentySevenMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "March 31 to April 27 [Member]",
        "label": "March Thirty One To April Twenty Seven Member"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum [Member]",
        "label": "Maximum [Member]",
        "documentation": "Upper limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r134",
      "r136",
      "r137",
      "r139",
      "r159",
      "r160",
      "r317",
      "r318",
      "r319",
      "r320",
      "r378",
      "r417",
      "r470",
      "r506",
      "r577",
      "r578",
      "r584",
      "r612",
      "r613",
      "r669",
      "r671",
      "r673",
      "r674",
      "r676",
      "r694",
      "r695",
      "r718",
      "r722",
      "r727",
      "r733",
      "r734",
      "r735",
      "r736",
      "r749",
      "r976",
      "r1026",
      "r1027",
      "r1028",
      "r1029",
      "r1030",
      "r1031"
     ]
    },
    "rgr_MayTwentySixToJuneTwentyNineMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "MayTwentySixToJuneTwentyNineMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "May 26 to June 29 [Member]",
        "label": "May Twenty Six To June Twenty Nine Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]",
        "terseLabel": "Measure:"
       }
      }
     },
     "auth_ref": [
      "r845"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r845"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum [Member]",
        "label": "Minimum [Member]",
        "documentation": "Lower limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r134",
      "r136",
      "r137",
      "r139",
      "r159",
      "r160",
      "r317",
      "r318",
      "r319",
      "r320",
      "r378",
      "r417",
      "r470",
      "r506",
      "r577",
      "r578",
      "r584",
      "r612",
      "r613",
      "r669",
      "r671",
      "r673",
      "r674",
      "r676",
      "r694",
      "r695",
      "r718",
      "r722",
      "r727",
      "r733",
      "r734",
      "r735",
      "r749",
      "r976",
      "r1026",
      "r1027",
      "r1028",
      "r1029",
      "r1030",
      "r1031"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]",
        "terseLabel": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r865"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement [Text Block]",
        "terseLabel": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r873"
     ]
    },
    "rgr_MunicipalLawsuitMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "MunicipalLawsuitMember",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Municipal Lawsuit [Member]",
        "label": "Municipal Lawsuit Member"
       }
      }
     },
     "auth_ref": []
    },
    "dei_NameChangeEventDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NameChangeEventDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name Change Event Date [Axis]",
        "documentation": "For a sequence of name change event related facts, use this typed dimension to distinguish them. The axis members are restricted to be a valid for xml schema 'date' or 'datetime' data type."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NameChangeEventLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NameChangeEventLineItems",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name Change Event [Line Items]",
        "documentation": "Line items represent concepts included in a table. Name change event line item concepts are used for information qualified by domain members of axes in the Name Change Event table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NameChangeEventTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NameChangeEventTable",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name Change Event [Table]",
        "documentation": "For a set of related facts in a sequence of name change events, use this table when the events occurred within a single reporting period."
       }
      }
     },
     "auth_ref": []
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]",
        "documentation": "Single external customer or group of external customers."
       }
      }
     },
     "auth_ref": [
      "r271",
      "r725",
      "r748",
      "r753",
      "r979",
      "r1034",
      "r1036",
      "r1037",
      "r1039",
      "r1040",
      "r1041",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055",
      "r1056",
      "r1057",
      "r1058",
      "r1059",
      "r1060",
      "r1061",
      "r1063",
      "r1064"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]",
        "terseLabel": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r846"
     ]
    },
    "rgr_NationalRifleAssociationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "NationalRifleAssociationMember",
     "presentation": [
      "http://www.ruger.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "National Rifle Association [Member]",
        "documentation": "National Rifle Association [Member]",
        "label": "National Rifle Association Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_NationalShootingSportsFoundationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "NationalShootingSportsFoundationMember",
     "presentation": [
      "http://www.ruger.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "National Shooting Sports Foundation [Member]",
        "label": "National Shooting Sports Foundation Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_NegligenceLawsuitMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "NegligenceLawsuitMember",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Negligence Lawsuit [Member]",
        "label": "Negligence Lawsuit Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash used for 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": [
      "r191"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Financing Activities",
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash (used for) provided by 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": [
      "r191"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Investing Activities",
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash provided by operating activities",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r88",
      "r89"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Activities",
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_NetDecreaseInFirearmsSales": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "NetDecreaseInFirearmsSales",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net decrease in firearms sales",
        "documentation": "Net decrease in firearms sales.",
        "label": "Net Decrease In Firearms Sales"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow",
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ScheduleofQuarterlyFinancialInformationTable",
      "http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable",
      "http://www.ruger.com/role/ShareholdersEquityType2or3",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income and comprehensive income",
        "verboseLabel": "Net income",
        "netLabel": "Net income (in Dollars)",
        "label": "Net Income (Loss)",
        "terseLabel": "Net Income (Loss)",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r89",
      "r112",
      "r163",
      "r182",
      "r183",
      "r187",
      "r196",
      "r204",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r213",
      "r214",
      "r224",
      "r275",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r453",
      "r456",
      "r469",
      "r471",
      "r555",
      "r641",
      "r662",
      "r663",
      "r765",
      "r974"
     ]
    },
    "us-gaap_NetIncomeLossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLossAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Numerator:",
        "label": "Net Income (Loss) Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_NetIncreaseInFirearmsSales": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "NetIncreaseInFirearmsSales",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net increase in firearms sales",
        "documentation": "Net increase in firearms sales.",
        "label": "Net Increase In Firearms Sales"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recent Accounting Pronouncements",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "dei_NewEffectiveDateForPreviousFiling": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NewEffectiveDateForPreviousFiling",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Effective Date for Previous Filing"
       }
      }
     },
     "auth_ref": [
      "r816",
      "r817",
      "r818",
      "r819"
     ]
    },
    "dei_NoSubstantiveChanges462c": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NoSubstantiveChanges462c",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Substantive Changes, 462(c)"
       }
      }
     },
     "auth_ref": [
      "r898"
     ]
    },
    "dei_NoSubstantiveChanges462cFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NoSubstantiveChanges462cFileNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Substantive Changes, 462(c), File Number"
       }
      }
     },
     "auth_ref": [
      "r898"
     ]
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Trading Symbol Flag",
        "documentation": "Boolean flag that is true only for a security having no trading symbol."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]",
        "terseLabel": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r845"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-NEOs [Member]",
        "terseLabel": "Non-NEOs"
       }
      }
     },
     "auth_ref": [
      "r800",
      "r811",
      "r827",
      "r853",
      "r862"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount",
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r835"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO [Member]",
        "terseLabel": "Non-PEO NEO"
       }
      }
     },
     "auth_ref": [
      "r853"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r873"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r873"
     ]
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capital Expenditures",
        "label": "Noncash Investing and Financing Items [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total other income, net",
        "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": [
      "r81"
     ]
    },
    "us-gaap_NonvotingCommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NonvotingCommonStockMember",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Nonvoting Common Stock",
        "label": "Nonvoting Common Stock [Member]",
        "documentation": "Common stock securities that do not empower a holder to vote on corporate resolutions or the election of directors."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_NovemberTwentySevenToDecemberThirtyOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "NovemberTwentySevenToDecemberThirtyOneMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "November 27 to December 31 [Member]",
        "label": "November Twenty Seven To December Thirty One Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_NovemberTwentySixToDecemberThirtyOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "NovemberTwentySixToDecemberThirtyOneMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "November 26 to December 31 [Member]",
        "label": "November Twenty Six To December Thirty One Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_NovemberTwentyThreeToDecemberThirtyOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "NovemberTwentyThreeToDecemberThirtyOneMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "November 23 to December 31 [Member]",
        "label": "November Twenty Three To December Thirty One Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reportable operating segments (in segments)",
        "label": "Number of Reportable 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": [
      "r709",
      "r717",
      "r940"
     ]
    },
    "rgr_OctoberOneToOctoberTwentyEightMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "OctoberOneToOctoberTwentyEightMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "October 1 to October 28 [Member]",
        "label": "October One To October Twenty Eight Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OctoberThirtyToNovemberTwentySevenMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "OctoberThirtyToNovemberTwentySevenMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "October 30 to November 26 [Member]",
        "label": "October Thirty To November Twenty Seven Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OctoberTwentyNineToNovemberTwentyFiveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "OctoberTwentyNineToNovemberTwentyFiveMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "October 29 to November 25 [Member]",
        "label": "October Twenty Nine To November Twenty Five Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OctoberTwentySevenToNovemberTwentyThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "OctoberTwentySevenToNovemberTwentyThreeMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "October 27 to November 23 [Member]",
        "label": "October Twenty Seven To November Twenty Three Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OctoberTwoToOctoberTwentyNineMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "OctoberTwoToOctoberTwentyNineMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "October 2 to October 29 [Member]",
        "label": "October Two To October Twenty Nine Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total operating expenses",
        "label": "Operating Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Operating Income, Net [Abstract]",
        "terseLabel": "Operating Expenses (Income):"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating income",
        "terseLabel": "Operating Income (Loss)",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r115",
      "r708",
      "r939",
      "r941",
      "r942",
      "r943",
      "r944"
     ]
    },
    "us-gaap_OperatingIncomeLossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLossAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Other Operating Income, Net [Abstract]",
        "terseLabel": "Operating Income (Loss)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities",
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total operating lease liabilities",
        "verboseLabel": "Operating Lease, Liability",
        "label": "Operating Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r484"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Lease, Liability, Current",
        "label": "Operating Lease, Liability, Current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r484"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease liability (Note 7)",
        "verboseLabel": "Operating Lease, Liability, Noncurrent",
        "label": "Operating Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r484"
     ]
    },
    "rgr_OperatingLeaseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "OperatingLeaseMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease [Member]",
        "label": "Operating Lease Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Lease, Payments",
        "label": "Operating Lease, Payments",
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r485",
      "r487"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Lease, Right-of-Use Asset",
        "label": "Operating Lease, Right-of-Use Asset",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r483"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Lease, Weighted Average Discount Rate, Percent",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r490",
      "r737"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsDetails",
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Lease, Weighted Average Remaining Lease Term",
        "verboseLabel": "Lease term",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r489",
      "r737"
     ]
    },
    "us-gaap_OperatingLeasedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeasedAssetsLineItems",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Operating Lease Liabilities Future Minimum Lease Payments [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": []
    },
    "rgr_OperatingSegmentInformationDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "OperatingSegmentInformationDetailsTable",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Segment Information (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OrganizationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "OrganizationPolicyTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Organization",
        "documentation": "Disclosure of accounting policy for organization.",
        "label": "Organization Policy Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAccountsPayableAndAccruedLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable": {
       "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofTradeAccountsPayableandAccruedExpensesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued other",
        "label": "Other Accounts Payable and Accrued Liabilities",
        "documentation": "Amount of liabilities incurred and payable to vendors for goods and services received classified as other, and expenses incurred but not yet paid, payable within one year or the operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "dei_OtherAddressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "OtherAddressMember",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Address [Member]",
        "documentation": "Other address for entity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets [Abstract]",
        "terseLabel": "Identifiable Assets"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OtherAssetsDetailsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "OtherAssetsDetailsLineItems",
     "presentation": [
      "http://www.ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets (Details) [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_OtherAssetsDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "OtherAssetsDetailsTable",
     "presentation": [
      "http://www.ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.ruger.com/role/OtherAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Assets",
        "label": "Other Assets Disclosure [Text Block]",
        "documentation": "The entire disclosure for other assets. This disclosure includes other current assets and other noncurrent assets."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsMember",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Assets [Member]",
        "label": "Other Assets [Member]",
        "documentation": "Primary financial statement caption encompassing other assets."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r41"
     ]
    },
    "us-gaap_OtherAssetsMiscellaneous": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsMiscellaneous",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofOtherAssetsTable": {
       "parentTag": "us-gaap_OtherAssetsNoncurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOtherAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Other Assets, Miscellaneous",
        "documentation": "Amount of other miscellaneous assets."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      },
      "http://www.ruger.com/role/ScheduleofOtherAssetsTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ScheduleofOtherAssetsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other assets",
        "terseLabel": "Other assets",
        "label": "Other Assets, Noncurrent",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r172"
     ]
    },
    "us-gaap_OtherIncomeAndExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherIncomeAndExpensesAbstract",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other income:",
        "label": "Other Income and Expenses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherIncomeAndOtherExpenseDisclosureTextBlock",
     "presentation": [
      "http://www.ruger.com/role/OtherOperatingIncomeNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Operating Income, Net",
        "label": "Other Income and Other Expense Disclosure [Text Block]",
        "documentation": "The entire disclosure for other income or other expense items (both operating and nonoperating). Sources of nonoperating income or nonoperating expense that may be disclosed, include amounts earned from dividends, interest on securities, profits (losses) on securities, net and miscellaneous other income or income deductions."
       }
      }
     },
     "auth_ref": [
      "r912",
      "r1007"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other income, net",
        "label": "Other Nonoperating Income (Expense)",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r82"
     ]
    },
    "us-gaap_OtherOperatingIncomeExpenseNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherOperatingIncomeExpenseNet",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other operating income, net",
        "label": "Other Operating Income (Expense), Net",
        "documentation": "The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount",
        "terseLabel": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r845"
     ]
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Reporting Standard Item Number",
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS."
       }
      }
     },
     "auth_ref": [
      "r783"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount",
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r798",
      "r809",
      "r825",
      "r860"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount",
        "terseLabel": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r801",
      "r812",
      "r828",
      "r863"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r801",
      "r812",
      "r828",
      "r863"
     ]
    },
    "dei_ParentEntityLegalName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ParentEntityLegalName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Parent Entity Legal Name",
        "documentation": "If the entity which the financial information concerns is a subsidiary of another company, then provide to full legal name of the parent entity"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r834"
     ]
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase of common stock",
        "label": "Payments for Repurchase of Common Stock",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r86"
     ]
    },
    "us-gaap_PaymentsOfDividends": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsOfDividends",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Dividends paid",
        "label": "Payments of Dividends",
        "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests."
       }
      }
     },
     "auth_ref": [
      "r86"
     ]
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payment of employee withholding tax related to share-based compensation",
        "label": "Payment, Tax Withholding, Share-Based Payment Arrangement",
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r190"
     ]
    },
    "us-gaap_PaymentsToAcquireInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchases of short-term investments",
        "label": "Payments to Acquire Investments",
        "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period."
       }
      }
     },
     "auth_ref": [
      "r84"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Property, plant and equipment additions",
        "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": [
      "r85"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]",
        "terseLabel": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount",
        "terseLabel": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "presentation": [
      "http://www.ruger.com/role/EmployeeBenefitPlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee Benefit Plans",
        "label": "Retirement Benefits [Text Block]",
        "documentation": "The entire disclosure for retirement benefits."
       }
      }
     },
     "auth_ref": [
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r726"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount",
        "terseLabel": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO [Member]",
        "terseLabel": "PEO"
       }
      }
     },
     "auth_ref": [
      "r853"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name",
        "terseLabel": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r846"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount",
        "terseLabel": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r835"
     ]
    },
    "dei_PhoneFaxNumberDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PhoneFaxNumberDescription",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Phone Fax Number Description",
        "documentation": "Description of Phone or Fax Number"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r980",
      "r981",
      "r982",
      "r983",
      "r984",
      "r985",
      "r986",
      "r987",
      "r988",
      "r989",
      "r990",
      "r991",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1005"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r980",
      "r981",
      "r982",
      "r983",
      "r984",
      "r985",
      "r986",
      "r987",
      "r988",
      "r989",
      "r990",
      "r991",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1005"
     ]
    },
    "ecd_PnsnAdjsPrrSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsPrrSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Prior Service Cost [Member]",
        "terseLabel": "Pension Adjustments Prior Service Cost"
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "ecd_PnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Service Cost [Member]",
        "terseLabel": "Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r890"
     ]
    },
    "ecd_PnsnBnftsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnBnftsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Benefits Adjustments, Footnote [Text Block]",
        "terseLabel": "Pension Benefits Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "dei_PostEffectiveAmendment": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PostEffectiveAmendment",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Post-Effective Amendment"
       }
      }
     },
     "auth_ref": [
      "r769"
     ]
    },
    "dei_PostEffectiveAmendmentNumber": {
     "xbrltype": "sequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PostEffectiveAmendmentNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Post-Effective Amendment Number",
        "documentation": "Amendment number to registration statement under the Securities Act of 1933 after the registration becomes effective."
       }
      }
     },
     "auth_ref": [
      "r769"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r776"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r778"
     ]
    },
    "dei_PreEffectiveAmendment": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreEffectiveAmendment",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-Effective Amendment"
       }
      }
     },
     "auth_ref": [
      "r769"
     ]
    },
    "dei_PreEffectiveAmendmentNumber": {
     "xbrltype": "sequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreEffectiveAmendmentNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-Effective Amendment Number",
        "documentation": "Amendment number to registration statement under the Securities Act of 1933 before the registration becomes effective."
       }
      }
     },
     "auth_ref": [
      "r769"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prepaid expenses and other current assets",
        "label": "Prepaid Expense and Other Assets, Current",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r922"
     ]
    },
    "rgr_PreparationOfFinancialStatementsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "PreparationOfFinancialStatementsPolicyTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preparation of Financial Statements",
        "documentation": "Disclosure of accounting policy for the preparation of financial statements.",
        "label": "Preparation Of Financial Statements Policy Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromSaleMaturityAndCollectionsOfInvestments",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from maturity of short-term investments",
        "label": "Proceeds from Sale, Maturity and Collection of Investments",
        "documentation": "The cash inflow associated with the sale, maturity and collection of all investments such as debt, security and so forth during the period."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_ProceedsFromSaleOfProductiveAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromSaleOfProductiveAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net proceeds from sale of assets",
        "label": "Proceeds from Sale of Productive Assets",
        "documentation": "The cash inflow from the sale of property, plant and equipment (capital expenditures), software, and other intangible assets."
       }
      }
     },
     "auth_ref": [
      "r83"
     ]
    },
    "us-gaap_ProductLiabilityAccrualComponentAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductLiabilityAccrualComponentAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Product Liability Expense",
        "label": "Product Liability Accrual, Component Amount",
        "documentation": "Recorded amount of the accrual for a material component of a product liability contingency."
       }
      }
     },
     "auth_ref": [
      "r700"
     ]
    },
    "rgr_ProductLiabilityAccrualNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ProductLiabilityAccrualNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product liability accrual",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters and due after one year (or beyond the operating cycle if longer).",
        "label": "Product Liability Accrual Noncurrent"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductLiabilityAccrualPeriodExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductLiabilityAccrualPeriodExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails",
      "http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Insurance Premium Expense",
        "verboseLabel": "Product liability expense (in Dollars)",
        "label": "Product Liability Accrual, Period Expense",
        "documentation": "The amount of loss reported during the period pertaining to product liability."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductLiabilityContingenciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductLiabilityContingenciesTextBlock",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Product Liability Expense",
        "label": "Product Liability Contingencies [Table Text Block]",
        "documentation": "Tabular disclosure of exposure to material amount of loss arising from allegations of damages pertaining to and arising from one or more of the entity's products."
       }
      }
     },
     "auth_ref": [
      "r966",
      "r968",
      "r970",
      "r971",
      "r972"
     ]
    },
    "us-gaap_ProductLiabilityContingencyDisbursementPeriodEstimateAccrued": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductLiabilityContingencyDisbursementPeriodEstimateAccrued",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product liability expense years",
        "label": "Product Liability Contingency, Disbursement Period, Estimate, Accrued",
        "documentation": "Period of disbursement over which accrued amount may be paid out for damage to product, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r700"
     ]
    },
    "us-gaap_ProductLiabilityContingencyLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductLiabilityContingencyLineItems",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Liability Contingency [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": [
      "r319",
      "r966",
      "r968",
      "r970"
     ]
    },
    "us-gaap_ProductLiabilityContingencyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductLiabilityContingencyTable",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Liability Contingency [Table]",
        "documentation": "Disclosure of information about product liability contingency arising from reasonably possible loss from liability related to individual product."
       }
      }
     },
     "auth_ref": [
      "r319",
      "r966",
      "r968",
      "r970"
     ]
    },
    "rgr_ProductLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ProductLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product liability",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date which includes the cost of outside legal fees, insurance, and other expenses incurred in the management and defense of product liability matters For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Product Liability Current"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ProductLiabilityReserveMemberMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ProductLiabilityReserveMemberMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product Liability Reserve Member [Member]",
        "label": "Product Liability Reserve Member Member"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable",
      "http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable",
      "http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "documentation": "Information by product and service, or group of similar products and similar services."
       }
      }
     },
     "auth_ref": [
      "r141",
      "r142",
      "r143",
      "r144",
      "r145",
      "r146",
      "r157",
      "r267",
      "r509",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r698",
      "r723",
      "r747",
      "r749",
      "r750",
      "r754",
      "r755",
      "r915",
      "r970",
      "r972",
      "r979",
      "r1034",
      "r1036",
      "r1037",
      "r1038",
      "r1039",
      "r1040",
      "r1041",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055",
      "r1056",
      "r1057",
      "r1058",
      "r1059",
      "r1060",
      "r1061",
      "r1063",
      "r1064"
     ]
    },
    "us-gaap_ProductWarrantyLiabilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductWarrantyLiabilityLineItems",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Liability [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_ProductWarrantyLiabilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductWarrantyLiabilityTable",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Liability [Table]",
        "documentation": "Disclosure of information about product warranty liability, including, but not limited to, reductions in the liability for payments made under the warranty, changes in the liability for accruals related to product warranties issued, and changes in the liability for accruals related to preexisting warranties."
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]",
        "documentation": "Product or service, or a group of similar products or similar services."
       }
      }
     },
     "auth_ref": [
      "r141",
      "r142",
      "r143",
      "r144",
      "r145",
      "r146",
      "r157",
      "r267",
      "r509",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r698",
      "r723",
      "r747",
      "r749",
      "r750",
      "r754",
      "r755",
      "r915",
      "r970",
      "r972",
      "r979",
      "r1034",
      "r1036",
      "r1037",
      "r1038",
      "r1039",
      "r1040",
      "r1041",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055",
      "r1056",
      "r1057",
      "r1058",
      "r1059",
      "r1060",
      "r1061",
      "r1063",
      "r1064"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable",
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "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": [
      "r5",
      "r492"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://www.ruger.com/role/PropertyPlantandEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r124",
      "r126",
      "r127"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, plant and equipment",
        "label": "Property, Plant and Equipment, Gross",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r168",
      "r553"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "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": [
      "r492"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net property, plant and equipment",
        "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": [
      "r5",
      "r492",
      "r545",
      "r553",
      "r738"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r124",
      "r126",
      "r551"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://www.ruger.com/role/PropertyPlantandEquipmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Property, Plant and Equipment",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable",
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "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": [
      "r96",
      "r492"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Useful life",
        "label": "Property, Plant and Equipment, Useful Life",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r834"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]",
        "terseLabel": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r834"
     ]
    },
    "us-gaap_QuarterlyFinancialInformationDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "QuarterlyFinancialInformationDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Results of Operations (Unaudited) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_QuarterlyFinancialInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "QuarterlyFinancialInformationTextBlock",
     "presentation": [
      "http://www.ruger.com/role/QuarterlyResultsofOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Quarterly Results of Operations (Unaudited)",
        "label": "Quarterly Financial Information [Text Block]",
        "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r234"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "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": [
      "r132",
      "r134",
      "r136",
      "r137",
      "r139",
      "r159",
      "r160",
      "r317",
      "r318",
      "r319",
      "r320",
      "r366",
      "r378",
      "r408",
      "r409",
      "r410",
      "r417",
      "r470",
      "r504",
      "r505",
      "r506",
      "r577",
      "r578",
      "r584",
      "r612",
      "r613",
      "r669",
      "r671",
      "r673",
      "r674",
      "r676",
      "r694",
      "r695",
      "r718",
      "r722",
      "r727",
      "r733",
      "r734",
      "r735",
      "r736",
      "r749",
      "r758",
      "r965",
      "r976",
      "r1018",
      "r1027",
      "r1028",
      "r1029",
      "r1030",
      "r1031"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "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": [
      "r132",
      "r134",
      "r136",
      "r137",
      "r139",
      "r159",
      "r160",
      "r317",
      "r318",
      "r319",
      "r320",
      "r366",
      "r378",
      "r408",
      "r409",
      "r410",
      "r417",
      "r470",
      "r504",
      "r505",
      "r506",
      "r577",
      "r578",
      "r584",
      "r612",
      "r613",
      "r669",
      "r671",
      "r673",
      "r674",
      "r676",
      "r694",
      "r695",
      "r718",
      "r722",
      "r727",
      "r733",
      "r734",
      "r735",
      "r736",
      "r749",
      "r758",
      "r965",
      "r976",
      "r1018",
      "r1027",
      "r1028",
      "r1029",
      "r1030",
      "r1031"
     ]
    },
    "rgr_RecognizedCostsOfRestrictedStockUnits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "RecognizedCostsOfRestrictedStockUnits",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recognized costs of restricted stock units",
        "documentation": "The amount of recognized costs of restricted stock units.",
        "label": "Recognized Costs Of Restricted Stock Units"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]",
        "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure"
       }
      }
     },
     "auth_ref": [
      "r793",
      "r804",
      "r820",
      "r855"
     ]
    },
    "dei_RegistrationStatementAmendmentNumber": {
     "xbrltype": "sequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "RegistrationStatementAmendmentNumber",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Registration Statement Amendment Number",
        "documentation": "Amendment number to registration statement under the Investment Company Act of 1940."
       }
      }
     },
     "auth_ref": [
      "r769"
     ]
    },
    "us-gaap_RelatedPartyTransactionAmountsOfTransaction": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionAmountsOfTransaction",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amount paid",
        "label": "Related Party Transaction, Amounts of Transaction",
        "documentation": "Amount of transactions with related party during the financial reporting period."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r498"
     ]
    },
    "us-gaap_RelatedPartyTransactionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionAxis",
     "presentation": [
      "http://www.ruger.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Axis]",
        "documentation": "Information by type of related party transaction."
       }
      }
     },
     "auth_ref": [
      "r498",
      "r499",
      "r1023"
     ]
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionLineItems",
     "presentation": [
      "http://www.ruger.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [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": [
      "r272",
      "r645",
      "r646",
      "r649"
     ]
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_RelatedPartyTransactionsDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "RelatedPartyTransactionsDetailsTable",
     "presentation": [
      "http://www.ruger.com/role/RelatedPartyTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "presentation": [
      "http://www.ruger.com/role/RelatedPartyTransactions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Related Party Transactions",
        "label": "Related Party Transactions Disclosure [Text Block]",
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates."
       }
      }
     },
     "auth_ref": [
      "r495",
      "r496",
      "r497",
      "r499",
      "r500",
      "r594",
      "r595",
      "r596",
      "r647",
      "r648",
      "r649",
      "r667",
      "r668"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research and development",
        "label": "Research and Development Expense",
        "documentation": "Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity."
       }
      }
     },
     "auth_ref": [
      "r420",
      "r696",
      "r713",
      "r1032"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research and Development",
        "label": "Research and Development Expense, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process."
       }
      }
     },
     "auth_ref": [
      "r419"
     ]
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]",
        "terseLabel": "Restatement Determination Date:"
       }
      }
     },
     "auth_ref": [
      "r794",
      "r805",
      "r821",
      "r856"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date",
        "terseLabel": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r795",
      "r806",
      "r822",
      "r857"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]",
        "terseLabel": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r802",
      "r813",
      "r829",
      "r864"
     ]
    },
    "us-gaap_RestrictedStockExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedStockExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of issuances restricted stock units",
        "label": "Restricted Stock or Unit Expense",
        "documentation": "Amount of noncash expense for award of restricted stock or unit under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted Stock Units [Member]",
        "verboseLabel": "Restricted Stock Units (RSUs) [Member]",
        "label": "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",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retained earnings",
        "label": "Retained Earnings (Accumulated Deficit)",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r101",
      "r549",
      "r582",
      "r583",
      "r592",
      "r622",
      "r738"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retained Earnings",
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r161",
      "r201",
      "r202",
      "r203",
      "r205",
      "r210",
      "r212",
      "r214",
      "r276",
      "r277",
      "r307",
      "r442",
      "r443",
      "r450",
      "r451",
      "r452",
      "r454",
      "r455",
      "r456",
      "r461",
      "r463",
      "r464",
      "r466",
      "r467",
      "r480",
      "r482",
      "r579",
      "r581",
      "r597",
      "r1068"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition and Contracts with Customers [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net Sales for Castings",
        "label": "Revenue from Contract with Customer, Including Assessed Tax",
        "documentation": "Amount, including 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": [
      "r113",
      "r114",
      "r233",
      "r243",
      "r244",
      "r258",
      "r264",
      "r267",
      "r269",
      "r271",
      "r361",
      "r362",
      "r509"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://www.ruger.com/role/RevenueRecognitionandContractswithCustomers"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue Recognition and Contracts with Customers",
        "label": "Revenue from Contract with Customer [Text Block]",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r364"
     ]
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue Recognition",
        "label": "Revenue [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r643",
      "r697",
      "r706"
     ]
    },
    "rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsLineItems",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRevenueRecognizedTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue Recognized [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "RevenueRecognitionandContractswithCustomersScheduleofRevenueRecognizedDetailsTable",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRevenueRecognizedTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition and Contracts with Customers - Schedule of Revenue Recognized (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/RevenueRecognitionandContractswithCustomersDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue and recognized",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r125"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Revenues",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable",
      "http://www.ruger.com/role/ScheduleofQuarterlyFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total net sales",
        "verboseLabel": "Net Sales",
        "label": "Revenues",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r114",
      "r188",
      "r196",
      "r233",
      "r243",
      "r244",
      "r258",
      "r264",
      "r267",
      "r269",
      "r271",
      "r275",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r471",
      "r544",
      "r713",
      "r974"
     ]
    },
    "us-gaap_RevenuesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenuesAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net Sales",
        "label": "Revenues [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Right-of-Use Asset Obtained in Exchange for Finance Lease Liability",
        "label": "Right-of-Use Asset Obtained in Exchange for Finance Lease Liability",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r488",
      "r737"
     ]
    },
    "us-gaap_RoyaltyIncomeNonoperating": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RoyaltyIncomeNonoperating",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Royalty income",
        "label": "Royalty Income, Nonoperating",
        "documentation": "Ancillary revenue earned during the period from the consideration paid to the entity for the use of its rights and property by another party. Examples include licensing the use of copyrighted materials and leasing the extraction of natural resources."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r873"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r873"
     ]
    },
    "rgr_S2022Q4DividendsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "S2022Q4DividendsMember",
     "presentation": [
      "http://www.ruger.com/role/AccruedDividendsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "S2022Q4 Dividends [Member]",
        "label": "S2022 Q4 Dividends Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesMember",
     "presentation": [
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sales [Member]",
        "label": "Sales [Member]",
        "documentation": "Primary financial statement caption encompassing revenue from sale of goods and services rendered in the normal course of business."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue Benchmark [Member]",
        "label": "Revenue Benchmark [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": [
      "r271",
      "r908"
     ]
    },
    "srt_ScenarioForecastMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ScenarioForecastMember",
     "presentation": [
      "http://www.ruger.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forecast [Member]",
        "label": "Forecast [Member]",
        "documentation": "Information reported for future period. Excludes information expected to be reported in future period for effect on historical fact."
       }
      }
     },
     "auth_ref": [
      "r379",
      "r913",
      "r935"
     ]
    },
    "srt_ScenarioUnspecifiedDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ScenarioUnspecifiedDomain",
     "presentation": [
      "http://www.ruger.com/role/IncomeTaxesDetails",
      "http://www.ruger.com/role/ScheduleofRevenueRecognizedTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Domain]",
        "documentation": "Scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts."
       }
      }
     },
     "auth_ref": [
      "r158",
      "r215",
      "r379",
      "r906",
      "r935"
     ]
    },
    "rgr_ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ScheduleOfAReconciliationOfTheNumeratorAndDenominatorForTheBasicAndDilutedEarningsPerShareAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of AReconciliation Of The Numerator And Denominator For The Basic And Diluted Earnings Per Share Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.ruger.com/role/TradeAccountsPayableandAccruedExpensesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Trade Accounts Payable and Accrued Expenses",
        "label": "Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the (a) carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business (accounts payable); (b) other payables; and (c) accrued liabilities. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). An alternative caption includes accrued expenses."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccruedDividends"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued Dividends",
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the components of accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.ruger.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Deferred Tax Assets and Liabilities",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r1012"
     ]
    },
    "us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock",
     "presentation": [
      "http://www.ruger.com/role/OtherOperatingIncomeNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Other Operating Income, Net",
        "label": "Disposal Groups, Including Discontinued Operations [Table Text Block]",
        "documentation": "Tabular disclosure of information related to a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r8",
      "r10",
      "r45",
      "r46",
      "r47",
      "r48",
      "r49",
      "r50",
      "r51",
      "r52",
      "r53",
      "r97"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.ruger.com/role/EarningsPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of a Reconciliation of the Numerator and Denominator for the Basic and Diluted Earnings Per Share",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r938"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.ruger.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Effective Income Tax Rate Reconciliation",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r428",
      "r731",
      "r1009"
     ]
    },
    "rgr_ScheduleOfInventoriesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ScheduleOfInventoriesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Inventories [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://www.ruger.com/role/InventoriesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Inventories",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r71",
      "r72",
      "r73"
     ]
    },
    "rgr_ScheduleOfOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ScheduleOfOperatingLeaseLiabilitiesFutureMinimumLeasePaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Operating Lease Liabilities Future Minimum Lease Payments Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfOperatingSegmentFinancialInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ScheduleOfOperatingSegmentFinancialInformationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Operating Segment Financial Information Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfOtherAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ScheduleOfOtherAssetsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Other Assets Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfOtherAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfOtherAssetsTableTextBlock",
     "presentation": [
      "http://www.ruger.com/role/OtherAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Other Assets",
        "label": "Schedule of Other Assets [Table Text Block]",
        "documentation": "Tabular disclosure of the carrying amounts of other assets. This disclosure includes other current assets and other noncurrent assets."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfProductLiabilityExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ScheduleOfProductLiabilityExpenseAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Product Liability Expense Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Roll-forward for Product Liability Reserve",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability."
       }
      }
     },
     "auth_ref": [
      "r322"
     ]
    },
    "rgr_ScheduleOfPropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ScheduleOfPropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Property Plant And Equipment Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable"
     ],
     "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": [
      "r5",
      "r492"
     ]
    },
    "rgr_ScheduleOfQuarterlyFinancialInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ScheduleOfQuarterlyFinancialInformationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Quarterly Financial Information [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock",
     "presentation": [
      "http://www.ruger.com/role/QuarterlyResultsofOperationsUnauditedTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Quarterly Financial Information",
        "label": "Quarterly Financial Information [Table Text Block]",
        "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data."
       }
      }
     },
     "auth_ref": [
      "r122"
     ]
    },
    "rgr_ScheduleOfRepurchasedSharesOfItsCommonStockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ScheduleOfRepurchasedSharesOfItsCommonStockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Repurchased Shares Of Its Common Stock Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfRevenueRecognizedAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ScheduleOfRevenueRecognizedAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Revenue Recognized Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfRollForwardForProductLiabilityReserveAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ScheduleOfRollForwardForProductLiabilityReserveAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Roll Forward For Product Liability Reserve Abstract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "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": [
      "r23",
      "r24",
      "r25"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Operating Segment Financial Information",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r24",
      "r25"
     ]
    },
    "rgr_ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ScheduleOfTradeAccountsPayableAndAccruedExpensesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Trade Accounts Payable and Accrued Expenses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ScheduleOfTradeReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ScheduleOfTradeReceivablesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Trade Receivables [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfTreasuryStockByClassTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfTreasuryStockByClassTextBlock",
     "presentation": [
      "http://www.ruger.com/role/StockRepurchasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Repurchased Shares of its Common Stock",
        "label": "Class of Treasury Stock [Table Text Block]",
        "documentation": "Tabular disclosure of 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": [
      "r28",
      "r29",
      "r30",
      "r31"
     ]
    },
    "rgr_SecondQuarter2024Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "SecondQuarter2024Member",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Second Quarter 2024 [Member]",
        "label": "Second Quarter2024 Member"
       }
      }
     },
     "auth_ref": []
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12gTitle",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r774"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Reporting Obligation",
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r779"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentDomain",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable",
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Domain]",
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r114",
      "r115",
      "r116",
      "r233",
      "r239",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r264",
      "r265",
      "r266",
      "r271",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r306",
      "r314",
      "r315",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r710",
      "r713",
      "r714",
      "r719",
      "r752",
      "r1034",
      "r1036",
      "r1037",
      "r1038",
      "r1039",
      "r1040",
      "r1041",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055",
      "r1056",
      "r1057",
      "r1058",
      "r1059",
      "r1060",
      "r1061",
      "r1063",
      "r1064"
     ]
    },
    "us-gaap_SegmentExpenditureAdditionToLongLivedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentExpenditureAdditionToLongLivedAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capital Expenditures",
        "label": "Segment, Expenditure, Addition to Long-Lived Assets",
        "documentation": "Amount of expenditure for addition to long-lived assets included in determination of segment assets by chief operating decision maker (CODM) or otherwise regularly provided to CODM. Excludes expenditure for addition to financial instrument, long-term customer relationship of financial institution, mortgage and other servicing rights, deferred policy acquisition cost, and deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r233",
      "r253",
      "r264",
      "r713",
      "r714"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]",
        "documentation": "Geographical area."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r135",
      "r138",
      "r140",
      "r147",
      "r148",
      "r149",
      "r150",
      "r151",
      "r152",
      "r153",
      "r154",
      "r155",
      "r156",
      "r269",
      "r270",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r609",
      "r610",
      "r611",
      "r670",
      "r672",
      "r675",
      "r677",
      "r683",
      "r685",
      "r686",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r699",
      "r724",
      "r739",
      "r740",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r751",
      "r758",
      "r979",
      "r1034",
      "r1036",
      "r1037",
      "r1039",
      "r1040",
      "r1041",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055",
      "r1056",
      "r1057",
      "r1058",
      "r1059",
      "r1060",
      "r1061",
      "r1063",
      "r1064"
     ]
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Segment Information",
        "label": "Segment Reporting Disclosure [Text Block]",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r233",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r254",
      "r256",
      "r257",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r271",
      "r709",
      "r711",
      "r712",
      "r713",
      "r715",
      "r716",
      "r717"
     ]
    },
    "us-gaap_SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingInformationIncomeLossBeforeIncomeTaxesAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income (Loss) Before Income Taxes",
        "label": "Segment Reporting Information, Income (Loss) before Income Taxes [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingInformationLineItems",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Operating Segment Financial 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_SegmentReportingInformationOperatingIncomeLossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingInformationOperatingIncomeLossAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Segment Information [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedIncomeStatement": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Selling",
        "label": "Selling Expense",
        "documentation": "Expenses recognized in the period that are directly related to the selling and distribution of products or services."
       }
      }
     },
     "auth_ref": [
      "r80"
     ]
    },
    "rgr_SeptemberTwentyNineToOctoberTwentySixMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "SeptemberTwentyNineToOctoberTwentySixMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "September 29 to October 26 [Member]",
        "label": "September Twenty Nine To October Twenty Six Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedCashFlow"
     ],
     "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": [
      "r3"
     ]
    },
    "us-gaap_ShareBasedCompensationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Plans [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting period",
        "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": [
      "r728"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Plans [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": [
      "r381",
      "r383",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares reserved for future issuance (in Shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r729"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares available for future grants (in Shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant",
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable."
       }
      }
     },
     "auth_ref": [
      "r33"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails",
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Award Types",
        "terseLabel": "All Award Types",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411"
     ]
    },
    "us-gaap_SharebasedCompensationEffectOnEarningsPerShare": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationEffectOnEarningsPerShare",
     "presentation": [
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customary payment description",
        "label": "Share-Based Payment Arrangement, Earnings Per Share Computation, Description",
        "documentation": "Description of treatment of share-based payment arrangement in earnings per share computation."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ShippingCostPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ShippingCostPolicyPolicyTextBlock",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shipping Costs",
        "documentation": "Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.",
        "label": "Shipping Cost Policy Policy Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ShippingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ShippingCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shipping costs",
        "documentation": "Cost incurred during the reporting period in shipping and transporting goods and services to customers.",
        "label": "Shipping Costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermInvestments",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Short-term investments",
        "label": "Short-Term Investments",
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r110",
      "r921"
     ]
    },
    "us-gaap_ShortTermLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Short-Term Lease Payments",
        "label": "Short-Term Lease Payments",
        "documentation": "Amount of cash outflow for short-term lease payment excluded from lease liability."
       }
      }
     },
     "auth_ref": [
      "r486"
     ]
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.ruger.com/role/SummaryofSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Significant Accounting Policies",
        "label": "Significant Accounting Policies [Text Block]",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r90",
      "r194"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r777"
     ]
    },
    "rgr_SportsSouthMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "SportsSouthMember",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sports South [Member]",
        "documentation": "Sports South [Member]",
        "label": "Sports South Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofOperatingSegmentFinancialInformationTable",
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r114",
      "r115",
      "r116",
      "r162",
      "r233",
      "r239",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r264",
      "r265",
      "r266",
      "r271",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r306",
      "r308",
      "r314",
      "r315",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r710",
      "r713",
      "r714",
      "r719",
      "r752",
      "r1034",
      "r1036",
      "r1037",
      "r1038",
      "r1039",
      "r1040",
      "r1041",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055",
      "r1056",
      "r1057",
      "r1058",
      "r1059",
      "r1060",
      "r1061",
      "r1063",
      "r1064"
     ]
    },
    "us-gaap_StatementClassOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementClassOfStockAxis",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Axis]",
        "documentation": "Information by the different classes of stock of the entity."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r174",
      "r175",
      "r176",
      "r196",
      "r219",
      "r223",
      "r225",
      "r227",
      "r236",
      "r237",
      "r275",
      "r325",
      "r327",
      "r328",
      "r329",
      "r332",
      "r333",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r471",
      "r588",
      "r589",
      "r590",
      "r591",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r621",
      "r642",
      "r664",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r905",
      "r927",
      "r937"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r65",
      "r68",
      "r69",
      "r161",
      "r185",
      "r186",
      "r187",
      "r201",
      "r202",
      "r203",
      "r205",
      "r210",
      "r212",
      "r214",
      "r235",
      "r276",
      "r277",
      "r307",
      "r350",
      "r442",
      "r443",
      "r450",
      "r451",
      "r452",
      "r454",
      "r455",
      "r456",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r480",
      "r482",
      "r494",
      "r556",
      "r579",
      "r580",
      "r581",
      "r597",
      "r664"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "documentation": "Information by geographical components."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r135",
      "r138",
      "r140",
      "r147",
      "r148",
      "r149",
      "r150",
      "r151",
      "r152",
      "r153",
      "r154",
      "r155",
      "r156",
      "r269",
      "r270",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r609",
      "r610",
      "r611",
      "r670",
      "r672",
      "r675",
      "r677",
      "r683",
      "r685",
      "r686",
      "r687",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r699",
      "r724",
      "r739",
      "r740",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r751",
      "r758",
      "r979",
      "r1034",
      "r1036",
      "r1037",
      "r1039",
      "r1040",
      "r1041",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055",
      "r1056",
      "r1057",
      "r1058",
      "r1059",
      "r1060",
      "r1061",
      "r1063",
      "r1064"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals",
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "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": [
      "r201",
      "r202",
      "r203",
      "r235",
      "r482",
      "r509",
      "r586",
      "r608",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r621",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r640",
      "r643",
      "r644",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r664",
      "r759"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_StatementScenarioAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementScenarioAxis",
     "presentation": [
      "http://www.ruger.com/role/IncomeTaxesDetails",
      "http://www.ruger.com/role/ScheduleofRevenueRecognizedTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Axis]",
        "documentation": "Information by scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts."
       }
      }
     },
     "auth_ref": [
      "r158",
      "r215",
      "r379",
      "r906",
      "r907",
      "r935"
     ]
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals",
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "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": [
      "r201",
      "r202",
      "r203",
      "r235",
      "r272",
      "r482",
      "r509",
      "r586",
      "r608",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r621",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r640",
      "r643",
      "r644",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r664",
      "r759"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]",
        "terseLabel": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r797",
      "r808",
      "r824",
      "r859"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_StockIncentivePlan2017Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "StockIncentivePlan2017Member",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Incentive Plan 2017 [Member]",
        "documentation": "Stock Incentive Plan 2017 [Member]",
        "label": "Stock Incentive Plan2017 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_StockIncentivePlan2023Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "StockIncentivePlan2023Member",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Incentive Plan 2023 [Member]",
        "label": "Stock Incentive Plan2023 Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted stock units issued (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": [
      "r7",
      "r101"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting of RSU\u2019s",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures",
        "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r101"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock issued \u2013 compensation plans",
        "label": "Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture",
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r64",
      "r65",
      "r101"
     ]
    },
    "srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Number of Shares Purchased as Part of Publicly Announced Program",
        "label": "Share Repurchase Program, Authorized, Number of Shares",
        "documentation": "Number of shares authorized to be purchased under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership."
       }
      }
     },
     "auth_ref": [
      "r977"
     ]
    },
    "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable",
      "http://www.ruger.com/role/StockRepurchasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum Dollar Value of Shares that May Yet Be Purchased Under the Program (in Dollars)",
        "verboseLabel": "Share repurchase authorization",
        "label": "Share Repurchase Program, Remaining Authorized, Amount",
        "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_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.ruger.com/role/ShareholdersEquityType2or3_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Repurchase of common stock",
        "label": "Stock Repurchased During Period, Shares",
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r64",
      "r65",
      "r101",
      "r591",
      "r664",
      "r681"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockRepurchasedDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchase of shares of common stock",
        "label": "Stock Repurchased During Period, Value",
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r64",
      "r65",
      "r101",
      "r597",
      "r664",
      "r681",
      "r766"
     ]
    },
    "rgr_StockRepurchasesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "StockRepurchasesDisclosureTextBlock",
     "presentation": [
      "http://www.ruger.com/role/StockRepurchases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Repurchases",
        "documentation": "The entire disclosure of stock repurchase.",
        "label": "Stock Repurchases Disclosure Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet",
      "http://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Stockholders\u2019 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": [
      "r65",
      "r68",
      "r69",
      "r93",
      "r623",
      "r639",
      "r665",
      "r666",
      "r738",
      "r767",
      "r929",
      "r951",
      "r1019",
      "r1068"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stockholders\u2019 Equity",
        "label": "Equity, Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventLineItems",
     "presentation": [
      "http://www.ruger.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Line Items]",
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event."
       }
      }
     },
     "auth_ref": [
      "r478",
      "r502"
     ]
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://www.ruger.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent Event [Member]",
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r478",
      "r502"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://www.ruger.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r478",
      "r502"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_SubsequentEventsDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "SubsequentEventsDetailsTable",
     "presentation": [
      "http://www.ruger.com/role/SubsequentEventsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://www.ruger.com/role/SubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "SUBSEQUENT EVENTS",
        "label": "Subsequent Events [Text Block]",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r501",
      "r503"
     ]
    },
    "rgr_SummaryofSignificantAccountingPoliciesDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "SummaryofSignificantAccountingPoliciesDetailsTable",
     "presentation": [
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Significant Accounting Policies (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TableTextBlockSupplementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TableTextBlockSupplementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Dividends [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]",
        "terseLabel": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r852"
     ]
    },
    "rgr_ThirdQuarter2022Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ThirdQuarter2022Member",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Third Quarter 2022 [Member]",
        "label": "Third Quarter2022 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ThirdQuarter2024Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ThirdQuarter2024Member",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Third Quarter 2024 [Member]",
        "label": "Third Quarter2024 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum limit of aggregate loss incurred annually for providing insurance coverage on annual basis (in Dollars)",
        "documentation": "Represents maximum limit of aggregate loss incurred annually for providing insurance coverage on annual basis excluding for certain new claims from governments or municipalities.",
        "label": "Threshold Limit Of Aggregate Loss For Insurance Coverage On Annual Basis Excluding New Claims From Governments Or Municipalities"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum limit of per claim for providing insurance coverage on annual basis (in Dollars)",
        "documentation": "Represents minimum limit of per claim for providing insurance coverage on annual basis.",
        "label": "Threshold Limit Of Losses Per Transaction For Taking Insurance Coverage On Annual Basis"
       }
      }
     },
     "auth_ref": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title and Position [Axis]",
        "documentation": "Information by title and position of individual or group within organization."
       }
      }
     },
     "auth_ref": [
      "r946",
      "r1022"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title and Position [Domain]",
        "documentation": "Title and position of individual or group within organization."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ToolsDiesAndMoldsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ToolsDiesAndMoldsMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofPropertyPlantandEquipmentTable",
      "http://www.ruger.com/role/SummaryofSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dies and Tools [Member]",
        "verboseLabel": "Tools, Dies and Molds [Member]",
        "label": "Tools, Dies and Molds [Member]",
        "documentation": "Equipment commonly used to cut, shape, and form metal and other materials into goods for sale."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TotalProductLiabilityExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "TotalProductLiabilityExpenseMember",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Product Liability Expense [Member]",
        "label": "Total Product Liability Expense Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount",
        "terseLabel": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]",
        "terseLabel": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r851"
     ]
    },
    "rgr_TradeAccountsPayableAndAccruedExpensesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "TradeAccountsPayableAndAccruedExpensesMember",
     "presentation": [
      "http://www.ruger.com/role/LeasedAssetsDetailsScheduleofRightofUseAssetsandRelatedLeaseLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade accounts payable and accrued expenses [Member]",
        "label": "Trade Accounts Payable And Accrued Expenses Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://www.ruger.com/role/AccountingPoliciesByPolicy"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts Receivable",
        "label": "Accounts Receivable [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r117",
      "r118",
      "r119",
      "r948",
      "r949",
      "r950"
     ]
    },
    "rgr_TradeNameMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "TradeNameMember",
     "presentation": [
      "http://www.ruger.com/role/OtherAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade Name[Member]",
        "label": "Trade Name Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TradeReceivablesNetDetailsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "TradeReceivablesNetDetailsTable",
     "presentation": [
      "http://www.ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Receivables, Net (Details) [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TradeReceivablesNetLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "TradeReceivablesNetLineItems",
     "presentation": [
      "http://www.ruger.com/role/TradeReceivablesNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade Receivables, Net [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TrademarkLawsuitMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "TrademarkLawsuitMember",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trademark Lawsuit [Member]",
        "label": "Trademark Lawsuit Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TrademarkLitigationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "TrademarkLitigationMember",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trademark Litigation [Member]",
        "label": "Trademark Litigation Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]",
        "terseLabel": "Trading Arrangement:"
       }
      }
     },
     "auth_ref": [
      "r872"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]",
        "terseLabel": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r874"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "rgr_TraditionalProductLiabilityLawsuitMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "TraditionalProductLiabilityLawsuitMember",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Traditional Product Liability Lawsuit [Member]",
        "label": "Traditional Product Liability Lawsuit Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Adoption Date",
        "terseLabel": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r875"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Duration",
        "terseLabel": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r876"
     ]
    },
    "ecd_TrdArrExpirationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrExpirationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Expiration Date",
        "terseLabel": "Expiration Date"
       }
      }
     },
     "auth_ref": [
      "r876"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r874"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Title",
        "terseLabel": "Title"
       }
      }
     },
     "auth_ref": [
      "r874"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Securities Aggregate Available Amount",
        "terseLabel": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r877"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Termination Date",
        "terseLabel": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r875"
     ]
    },
    "us-gaap_TreasuryStockAcquiredAverageCostPerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockAcquiredAverageCostPerShare",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Average Price Paid per Share (in Dollars per share)",
        "label": "Shares Acquired, Average Cost Per Share",
        "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased."
       }
      }
     },
     "auth_ref": [
      "r28"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://www.ruger.com/role/ShareholdersEquityType2or3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury Stock",
        "label": "Treasury Stock, Common [Member]",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r28"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet_Parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury stock, shares",
        "label": "Treasury Stock, Common, Shares",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r28"
     ]
    },
    "us-gaap_TreasuryStockCommonValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonValue",
     "crdr": "debit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Treasury stock \u2013 at cost 2024 \u2013 7,677,159 shares 2023 \u2013 6,978,400 shares",
        "label": "Treasury Stock, Common, Value",
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r31",
      "r68"
     ]
    },
    "us-gaap_TreasuryStockSharesAcquired": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockSharesAcquired",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRepurchasedSharesofitsCommonStockTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total Number of Shares Purchased",
        "label": "Treasury Stock, Shares, Acquired",
        "documentation": "Number of shares that have been repurchased during the period and are being held in treasury."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r65",
      "r101"
     ]
    },
    "us-gaap_TreasuryStockValueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockValueAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "US",
     "presentation": [
      "http://www.ruger.com/role/OperatingSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "United State [Member]",
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_UnaffiliatedCastingsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "UnaffiliatedCastingsMember",
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net castings sales",
        "documentation": "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.",
        "label": "Unaffiliated Castings Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent",
        "terseLabel": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r871"
     ]
    },
    "rgr_UnfairTradePracticesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "UnfairTradePracticesMember",
     "presentation": [
      "http://www.ruger.com/role/ContingentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unfair Trade Practices [Member]",
        "label": "Unfair Trade Practices Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_UnrecognizedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "UnrecognizedCompensationCost",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized compensation cost",
        "documentation": "Amount of unrecognized compensation cost.",
        "label": "Unrecognized Compensation Cost"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ValuationAllowancesAndReservesBalance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ValuationAllowancesAndReservesBalance",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance Beginning of Year",
        "periodEndLabel": "Balance End of Year",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount",
        "documentation": "Amount of valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r198",
      "r200"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofProductLiabilityExpenseTable",
      "http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued Legal Expense (Income)",
        "verboseLabel": "Accrued Legal Expense",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense",
        "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense."
       }
      }
     },
     "auth_ref": [
      "r199"
     ]
    },
    "rgr_ValuationAllowancesAndReservesLegalFees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ValuationAllowancesAndReservesLegalFees",
     "crdr": "debit",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Legal Fees",
        "documentation": "The amount of legal fees.",
        "label": "Valuation Allowances And Reserves Legal Fees"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_ValuationAllowancesAndReservesSettlements": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "ValuationAllowancesAndReservesSettlements",
     "crdr": "credit",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofRollforwardforProductLiabilityReserveTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Settlements",
        "documentation": "The amount of settlements.",
        "label": "Valuation Allowances And Reserves Settlements"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_VestInJune2024Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "VestInJune2024Member",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vest In June 2024 [Member]",
        "label": "Vest In June2024 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_VestInJune2025Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "VestInJune2025Member",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vest In June2025 [Member]",
        "label": "Vest In June2025 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_VestInJune2026Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "VestInJune2026Member",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vest in June 2026 [Member]",
        "label": "Vest In June2026 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_VestInJune2027Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "VestInJune2027Member",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vest in June 2027 [Member]",
        "label": "Vest In June2027 Member"
       }
      }
     },
     "auth_ref": []
    },
    "rgr_VestInMay2023Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "VestInMay2023Member",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vest in May 2023 [Member]",
        "label": "Vest In May2023 Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VestingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "VestingAxis",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting [Axis]",
        "documentation": "Information by vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r980",
      "r981",
      "r982",
      "r983",
      "r984",
      "r985",
      "r986",
      "r987",
      "r988",
      "r989",
      "r990",
      "r991",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1005"
     ]
    },
    "us-gaap_VestingDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "VestingDomain",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting [Domain]",
        "documentation": "Vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r980",
      "r981",
      "r982",
      "r983",
      "r984",
      "r985",
      "r986",
      "r987",
      "r988",
      "r989",
      "r990",
      "r991",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003",
      "r1004",
      "r1005"
     ]
    },
    "rgr_VestingInMay2025Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.ruger.com/20241231",
     "localname": "VestingInMay2025Member",
     "presentation": [
      "http://www.ruger.com/role/CompensationPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vesting in May 2025 [Member]",
        "label": "Vesting In May2025 Member"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]",
        "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r840"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Weighted average number of common shares outstanding \u2013 Diluted",
        "terseLabel": "Weighted average number of common shares outstanding - Diluted (in Shares)",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r218",
      "r227"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "calculation": {
      "http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedIncomeStatement",
      "http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average number of common shares outstanding - Basic (in Shares)",
        "verboseLabel": "Weighted average number of common shares outstanding \u2013 Basic",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r217",
      "r227"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract",
     "presentation": [
      "http://www.ruger.com/role/ScheduleofaReconciliationoftheNumeratorandDenominatorfortheBasicandDilutedEarningsPerShareTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Denominator:",
        "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WorkersCompensationLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WorkersCompensationLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.ruger.com/role/ConsolidatedBalanceSheet": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.ruger.com/role/ConsolidatedBalanceSheet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Workers\u2019 compensation",
        "label": "Workers' Compensation Liability, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations and payables pertaining to claims incurred of a workers compensation nature. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://xbrl.sec.gov/dei/role/document/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r896"
     ]
    },
    "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]",
        "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r838"
     ]
    }
   }
  }
 },
 "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": "2",
   "SubTopic": "405",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477787/942-405-45-2"
  },
  "r3": {
   "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"
  },
  "r4": {
   "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"
  },
  "r5": {
   "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"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "205",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-1"
  },
  "r7": {
   "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"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "815",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "205",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-3"
  },
  "r11": {
   "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"
  },
  "r12": {
   "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"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r14": {
   "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"
  },
  "r15": {
   "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"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-3"
  },
  "r18": {
   "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"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "270",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-2"
  },
  "r21": {
   "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"
  },
  "r22": {
   "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"
  },
  "r23": {
   "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"
  },
  "r24": {
   "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"
  },
  "r25": {
   "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"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r27": {
   "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"
  },
  "r28": {
   "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"
  },
  "r29": {
   "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"
  },
  "r30": {
   "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"
  },
  "r31": {
   "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"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-1"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r36": {
   "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"
  },
  "r37": {
   "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"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1"
  },
  "r40": {
   "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"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "182",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-182"
  },
  "r42": {
   "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"
  },
  "r43": {
   "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"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "850",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483475/205-20-45-11"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-3A"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-4A"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-4B"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-5A"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-5B"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-5C"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-5D"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "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(19)(a))",
   "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(19)(b))",
   "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(19))",
   "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(20))",
   "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(21))",
   "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(22)(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(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r61": {
   "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"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r64": {
   "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"
  },
  "r65": {
   "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"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r74": {
   "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"
  },
  "r75": {
   "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"
  },
  "r76": {
   "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"
  },
  "r77": {
   "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"
  },
  "r78": {
   "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"
  },
  "r79": {
   "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"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r81": {
   "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"
  },
  "r82": {
   "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"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r85": {
   "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"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r87": {
   "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"
  },
  "r88": {
   "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"
  },
  "r89": {
   "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"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "270",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/270/tableOfContent"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r93": {
   "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"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480581/330-10-S99-2"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/360/tableOfContent"
  },
  "r96": {
   "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"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3A"
  },
  "r98": {
   "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"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r101": {
   "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"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "710",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483043/710-10-30-1"
  },
  "r103": {
   "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"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r107": {
   "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"
  },
  "r108": {
   "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"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r111": {
   "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"
  },
  "r112": {
   "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"
  },
  "r113": {
   "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"
  },
  "r114": {
   "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"
  },
  "r115": {
   "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"
  },
  "r116": {
   "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"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11B"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-15"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-6"
  },
  "r120": {
   "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"
  },
  "r121": {
   "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"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "35",
   "Topic": "720",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483406/720-35-50-1"
  },
  "r124": {
   "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"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13"
  },
  "r126": {
   "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"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-7"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r129": {
   "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"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r131": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r132": {
   "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"
  },
  "r133": {
   "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"
  },
  "r134": {
   "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"
  },
  "r135": {
   "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"
  },
  "r136": {
   "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"
  },
  "r137": {
   "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"
  },
  "r138": {
   "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"
  },
  "r139": {
   "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"
  },
  "r140": {
   "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"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column A",
   "Publisher": "SEC"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r147": {
   "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"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column G",
   "Publisher": "SEC"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column H",
   "Publisher": "SEC"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column I",
   "Publisher": "SEC"
  },
  "r156": {
   "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"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 11",
   "Section": "L",
   "Publisher": "SEC"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 11",
   "Section": "M",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 4",
   "Publisher": "SEC"
  },
  "r161": {
   "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"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-1"
  },
  "r163": {
   "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"
  },
  "r164": {
   "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"
  },
  "r165": {
   "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"
  },
  "r166": {
   "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"
  },
  "r167": {
   "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"
  },
  "r168": {
   "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"
  },
  "r169": {
   "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"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r172": {
   "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"
  },
  "r173": {
   "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"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r182": {
   "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"
  },
  "r183": {
   "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"
  },
  "r184": {
   "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"
  },
  "r185": {
   "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"
  },
  "r186": {
   "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"
  },
  "r187": {
   "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"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r189": {
   "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"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r191": {
   "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"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A"
  },
  "r193": {
   "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"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-1"
  },
  "r195": {
   "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"
  },
  "r196": {
   "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"
  },
  "r197": {
   "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"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-4"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-4"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-4"
  },
  "r201": {
   "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"
  },
  "r202": {
   "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"
  },
  "r203": {
   "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"
  },
  "r204": {
   "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"
  },
  "r205": {
   "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"
  },
  "r206": {
   "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"
  },
  "r207": {
   "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"
  },
  "r208": {
   "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"
  },
  "r209": {
   "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"
  },
  "r210": {
   "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"
  },
  "r211": {
   "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"
  },
  "r212": {
   "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"
  },
  "r213": {
   "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"
  },
  "r214": {
   "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"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-5"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r217": {
   "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"
  },
  "r218": {
   "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"
  },
  "r219": {
   "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"
  },
  "r220": {
   "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"
  },
  "r221": {
   "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"
  },
  "r222": {
   "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"
  },
  "r223": {
   "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"
  },
  "r224": {
   "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"
  },
  "r225": {
   "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"
  },
  "r226": {
   "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"
  },
  "r227": {
   "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"
  },
  "r228": {
   "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"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r230": {
   "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"
  },
  "r231": {
   "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"
  },
  "r232": {
   "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"
  },
  "r233": {
   "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"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1B"
  },
  "r235": {
   "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"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482987/272-10-50-1"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482987/272-10-50-3"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/280/tableOfContent"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-15"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21"
  },
  "r242": {
   "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"
  },
  "r243": {
   "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"
  },
  "r244": {
   "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"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r250": {
   "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"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26A"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C"
  },
  "r258": {
   "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"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r260": {
   "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"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r264": {
   "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"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34"
  },
  "r267": {
   "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"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "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"
  },
  "r272": {
   "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"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r274": {
   "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"
  },
  "r275": {
   "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"
  },
  "r276": {
   "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"
  },
  "r277": {
   "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"
  },
  "r278": {
   "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"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r280": {
   "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"
  },
  "r281": {
   "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"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-20/tableOfContent"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-1"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2"
  },
  "r295": {
   "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"
  },
  "r296": {
   "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"
  },
  "r297": {
   "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"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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"
  },
  "r300": {
   "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"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3"
  },
  "r309": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "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"
  },
  "r313": {
   "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"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4.d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-1"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "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"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-3"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r323": {
   "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"
  },
  "r324": {
   "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"
  },
  "r325": {
   "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"
  },
  "r326": {
   "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"
  },
  "r327": {
   "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"
  },
  "r328": {
   "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"
  },
  "r329": {
   "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"
  },
  "r330": {
   "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"
  },
  "r331": {
   "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"
  },
  "r332": {
   "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"
  },
  "r333": {
   "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"
  },
  "r334": {
   "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"
  },
  "r335": {
   "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"
  },
  "r336": {
   "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"
  },
  "r337": {
   "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"
  },
  "r338": {
   "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"
  },
  "r339": {
   "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"
  },
  "r340": {
   "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"
  },
  "r341": {
   "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"
  },
  "r342": {
   "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"
  },
  "r343": {
   "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"
  },
  "r344": {
   "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"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r350": {
   "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"
  },
  "r351": {
   "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"
  },
  "r352": {
   "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"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-15"
  },
  "r361": {
   "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"
  },
  "r362": {
   "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"
  },
  "r363": {
   "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"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-9"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/715/tableOfContent"
  },
  "r366": {
   "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"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(o)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(p)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480126/715-20-S99-2"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480266/715-60-50-3"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480794/715-70-50-1"
  },
  "r378": {
   "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"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r381": {
   "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"
  },
  "r382": {
   "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"
  },
  "r383": {
   "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"
  },
  "r384": {
   "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"
  },
  "r385": {
   "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"
  },
  "r386": {
   "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"
  },
  "r387": {
   "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"
  },
  "r388": {
   "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"
  },
  "r389": {
   "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"
  },
  "r390": {
   "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"
  },
  "r391": {
   "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"
  },
  "r392": {
   "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"
  },
  "r393": {
   "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"
  },
  "r394": {
   "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"
  },
  "r395": {
   "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"
  },
  "r396": {
   "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"
  },
  "r397": {
   "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"
  },
  "r398": {
   "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"
  },
  "r399": {
   "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"
  },
  "r400": {
   "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"
  },
  "r401": {
   "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"
  },
  "r402": {
   "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"
  },
  "r403": {
   "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"
  },
  "r404": {
   "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"
  },
  "r405": {
   "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"
  },
  "r406": {
   "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"
  },
  "r407": {
   "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"
  },
  "r408": {
   "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"
  },
  "r409": {
   "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"
  },
  "r410": {
   "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"
  },
  "r411": {
   "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"
  },
  "r412": {
   "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"
  },
  "r413": {
   "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"
  },
  "r414": {
   "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"
  },
  "r415": {
   "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"
  },
  "r416": {
   "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"
  },
  "r417": {
   "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"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483406/720-35-50-1"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483044/730-10-05-1"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482916/730-10-50-1"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r422": {
   "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"
  },
  "r423": {
   "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"
  },
  "r424": {
   "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"
  },
  "r425": {
   "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"
  },
  "r426": {
   "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"
  },
  "r427": {
   "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"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r430": {
   "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"
  },
  "r431": {
   "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"
  },
  "r432": {
   "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"
  },
  "r433": {
   "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"
  },
  "r434": {
   "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"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r436": {
   "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"
  },
  "r437": {
   "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"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23"
  },
  "r440": {
   "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"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r442": {
   "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"
  },
  "r443": {
   "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"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.1.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r445": {
   "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"
  },
  "r446": {
   "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"
  },
  "r447": {
   "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"
  },
  "r448": {
   "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"
  },
  "r449": {
   "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"
  },
  "r450": {
   "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"
  },
  "r451": {
   "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"
  },
  "r452": {
   "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"
  },
  "r453": {
   "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"
  },
  "r454": {
   "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"
  },
  "r455": {
   "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"
  },
  "r456": {
   "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"
  },
  "r457": {
   "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"
  },
  "r458": {
   "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"
  },
  "r459": {
   "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"
  },
  "r460": {
   "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"
  },
  "r461": {
   "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"
  },
  "r462": {
   "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"
  },
  "r463": {
   "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"
  },
  "r464": {
   "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"
  },
  "r465": {
   "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"
  },
  "r466": {
   "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"
  },
  "r467": {
   "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"
  },
  "r468": {
   "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"
  },
  "r469": {
   "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"
  },
  "r470": {
   "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"
  },
  "r471": {
   "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"
  },
  "r472": {
   "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"
  },
  "r473": {
   "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"
  },
  "r474": {
   "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"
  },
  "r475": {
   "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"
  },
  "r476": {
   "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"
  },
  "r477": {
   "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"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-2"
  },
  "r479": {
   "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"
  },
  "r480": {
   "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"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/842-20/tableOfContent"
  },
  "r482": {
   "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"
  },
  "r483": {
   "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"
  },
  "r484": {
   "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"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5"
  },
  "r487": {
   "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"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6"
  },
  "r492": {
   "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"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r494": {
   "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"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/850/tableOfContent"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-6"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/855/tableOfContent"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r504": {
   "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"
  },
  "r505": {
   "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"
  },
  "r506": {
   "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"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478345/912-310-45-11"
  },
  "r508": {
   "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"
  },
  "r509": {
   "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"
  },
  "r510": {
   "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"
  },
  "r511": {
   "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"
  },
  "r512": {
   "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"
  },
  "r513": {
   "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"
  },
  "r514": {
   "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"
  },
  "r515": {
   "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"
  },
  "r516": {
   "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"
  },
  "r517": {
   "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"
  },
  "r518": {
   "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"
  },
  "r519": {
   "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"
  },
  "r520": {
   "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"
  },
  "r521": {
   "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"
  },
  "r522": {
   "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"
  },
  "r523": {
   "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"
  },
  "r524": {
   "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"
  },
  "r525": {
   "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"
  },
  "r526": {
   "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"
  },
  "r527": {
   "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"
  },
  "r528": {
   "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"
  },
  "r529": {
   "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"
  },
  "r530": {
   "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"
  },
  "r531": {
   "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"
  },
  "r532": {
   "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"
  },
  "r533": {
   "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"
  },
  "r534": {
   "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"
  },
  "r535": {
   "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"
  },
  "r536": {
   "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"
  },
  "r537": {
   "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"
  },
  "r538": {
   "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"
  },
  "r539": {
   "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"
  },
  "r540": {
   "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"
  },
  "r541": {
   "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"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r543": {
   "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"
  },
  "r544": {
   "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"
  },
  "r545": {
   "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"
  },
  "r546": {
   "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"
  },
  "r547": {
   "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"
  },
  "r548": {
   "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"
  },
  "r549": {
   "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"
  },
  "r550": {
   "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"
  },
  "r551": {
   "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"
  },
  "r552": {
   "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"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r554": {
   "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"
  },
  "r555": {
   "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"
  },
  "r556": {
   "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"
  },
  "r557": {
   "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"
  },
  "r558": {
   "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"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E"
  },
  "r577": {
   "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"
  },
  "r578": {
   "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"
  },
  "r579": {
   "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"
  },
  "r580": {
   "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"
  },
  "r581": {
   "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"
  },
  "r582": {
   "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"
  },
  "r583": {
   "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"
  },
  "r584": {
   "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"
  },
  "r585": {
   "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"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r592": {
   "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"
  },
  "r593": {
   "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"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-2"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-5"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-6"
  },
  "r597": {
   "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"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-2"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-27"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r608": {
   "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"
  },
  "r609": {
   "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"
  },
  "r610": {
   "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"
  },
  "r611": {
   "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"
  },
  "r612": {
   "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"
  },
  "r613": {
   "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"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r635": {
   "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"
  },
  "r636": {
   "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"
  },
  "r637": {
   "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"
  },
  "r638": {
   "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"
  },
  "r639": {
   "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"
  },
  "r640": {
   "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"
  },
  "r641": {
   "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"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478297/946-220-50-3"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r662": {
   "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"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r666": {
   "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"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-1"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1"
  },
  "r696": {
   "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"
  },
  "r697": {
   "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"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r699": {
   "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"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "SubTopic": "20",
   "Topic": "450",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r701": {
   "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"
  },
  "r702": {
   "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"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r705": {
   "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"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r707": {
   "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"
  },
  "r708": {
   "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"
  },
  "r709": {
   "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"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r713": {
   "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"
  },
  "r714": {
   "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"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r717": {
   "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"
  },
  "r718": {
   "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"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482548/350-20-55-24"
  },
  "r720": {
   "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"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482395/460-10-55-27"
  },
  "r722": {
   "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"
  },
  "r723": {
   "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"
  },
  "r724": {
   "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"
  },
  "r725": {
   "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"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17"
  },
  "r727": {
   "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"
  },
  "r728": {
   "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"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483385/720-35-55-1"
  },
  "r731": {
   "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"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r733": {
   "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"
  },
  "r734": {
   "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"
  },
  "r735": {
   "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"
  },
  "r736": {
   "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"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479589/842-20-55-53"
  },
  "r738": {
   "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"
  },
  "r739": {
   "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"
  },
  "r740": {
   "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"
  },
  "r741": {
   "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"
  },
  "r742": {
   "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"
  },
  "r743": {
   "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"
  },
  "r744": {
   "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"
  },
  "r745": {
   "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"
  },
  "r746": {
   "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"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r749": {
   "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"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r751": {
   "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"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18"
  },
  "r756": {
   "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"
  },
  "r757": {
   "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"
  },
  "r758": {
   "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"
  },
  "r759": {
   "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"
  },
  "r760": {
   "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"
  },
  "r761": {
   "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"
  },
  "r762": {
   "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"
  },
  "r763": {
   "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"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "405",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478790/946-405-45-2"
  },
  "r765": {
   "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"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-11"
  },
  "r767": {
   "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"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "Global LEI Foundation"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14a",
   "Subsection": "12"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "249",
   "Section": "308",
   "Subsection": "a"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "1"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "i"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r812": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 8-K",
   "Number": "249",
   "Section": "308"
  },
  "r815": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form F-3"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-2"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-3"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-4"
  },
  "r819": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-6"
  },
  "r820": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r821": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r822": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r823": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r824": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r826": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r827": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r829": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r830": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form S-3"
  },
  "r831": {
   "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"
  },
  "r832": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Investment Company Act",
   "Number": "270"
  },
  "r833": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r834": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r835": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "i"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r840": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iii"
  },
  "r841": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iv"
  },
  "r842": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "v"
  },
  "r843": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "vi"
  },
  "r844": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r845": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r846": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r847": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r848": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r849": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r850": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r851": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r852": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r853": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r854": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r855": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r856": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r857": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r858": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r859": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r860": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r861": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r862": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r863": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r864": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r865": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r866": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r867": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r868": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r869": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r870": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r871": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r872": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r873": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r874": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r875": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r876": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r877": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r878": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r879": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106"
  },
  "r880": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r881": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r882": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r883": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "1"
  },
  "r884": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "i"
  },
  "r885": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r886": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r887": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Number": "229",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1"
  },
  "r888": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "A",
   "Number": "229"
  },
  "r889": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Number": "229"
  },
  "r890": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "i",
   "Number": "229"
  },
  "r891": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "313"
  },
  "r892": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r893": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-X",
   "Number": "210",
   "Section": "2",
   "Subsection": "2"
  },
  "r894": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r895": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "413",
   "Subsection": "b"
  },
  "r896": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r897": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "462",
   "Subsection": "b"
  },
  "r898": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "462",
   "Subsection": "c"
  },
  "r899": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "462",
   "Subsection": "d"
  },
  "r900": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "462",
   "Subsection": "e"
  },
  "r901": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "486",
   "Subsection": "a"
  },
  "r902": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "486",
   "Subsection": "b"
  },
  "r903": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r904": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Section": "8",
   "Subsection": "c"
  },
  "r905": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-3"
  },
  "r906": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-10"
  },
  "r907": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-3"
  },
  "r908": {
   "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"
  },
  "r909": {
   "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"
  },
  "r910": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3"
  },
  "r911": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r912": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Topic": "610",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/610/tableOfContent"
  },
  "r913": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "11",
   "Subsection": "03",
   "Publisher": "SEC"
  },
  "r914": {
   "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"
  },
  "r915": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r916": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r917": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r918": {
   "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"
  },
  "r919": {
   "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)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r920": {
   "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"
  },
  "r921": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r922": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r923": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r924": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r925": {
   "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"
  },
  "r926": {
   "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"
  },
  "r927": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r928": {
   "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"
  },
  "r929": {
   "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"
  },
  "r930": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r931": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r932": {
   "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"
  },
  "r933": {
   "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"
  },
  "r934": {
   "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"
  },
  "r935": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4"
  },
  "r936": {
   "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"
  },
  "r937": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "55",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-55"
  },
  "r938": {
   "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"
  },
  "r939": {
   "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"
  },
  "r940": {
   "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"
  },
  "r941": {
   "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"
  },
  "r942": {
   "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"
  },
  "r943": {
   "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"
  },
  "r944": {
   "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"
  },
  "r945": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/310-10/tableOfContent"
  },
  "r946": {
   "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"
  },
  "r947": {
   "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"
  },
  "r948": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r949": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r950": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481569/310-20-50-1"
  },
  "r951": {
   "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"
  },
  "r952": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r953": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r954": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r955": {
   "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"
  },
  "r956": {
   "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"
  },
  "r957": {
   "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"
  },
  "r958": {
   "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"
  },
  "r959": {
   "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"
  },
  "r960": {
   "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"
  },
  "r961": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r962": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r963": {
   "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"
  },
  "r964": {
   "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"
  },
  "r965": {
   "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"
  },
  "r966": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-1"
  },
  "r967": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4"
  },
  "r968": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r969": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r970": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r971": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r972": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r973": {
   "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"
  },
  "r974": {
   "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"
  },
  "r975": {
   "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"
  },
  "r976": {
   "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"
  },
  "r977": {
   "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"
  },
  "r978": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10"
  },
  "r979": {
   "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"
  },
  "r980": {
   "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"
  },
  "r981": {
   "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"
  },
  "r982": {
   "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"
  },
  "r983": {
   "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"
  },
  "r984": {
   "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"
  },
  "r985": {
   "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"
  },
  "r986": {
   "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"
  },
  "r987": {
   "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"
  },
  "r988": {
   "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"
  },
  "r989": {
   "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"
  },
  "r990": {
   "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"
  },
  "r991": {
   "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"
  },
  "r992": {
   "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"
  },
  "r993": {
   "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"
  },
  "r994": {
   "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"
  },
  "r995": {
   "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"
  },
  "r996": {
   "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"
  },
  "r997": {
   "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"
  },
  "r998": {
   "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"
  },
  "r999": {
   "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"
  },
  "r1000": {
   "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"
  },
  "r1001": {
   "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"
  },
  "r1002": {
   "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"
  },
  "r1003": {
   "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"
  },
  "r1004": {
   "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"
  },
  "r1005": {
   "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"
  },
  "r1006": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1007": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "720",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/720/tableOfContent"
  },
  "r1008": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "720",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483384/720-30-45-1"
  },
  "r1009": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r1010": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r1011": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r1012": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r1013": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-6"
  },
  "r1014": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r1015": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r1016": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r1017": {
   "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"
  },
  "r1018": {
   "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"
  },
  "r1019": {
   "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"
  },
  "r1020": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r1021": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6"
  },
  "r1022": {
   "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"
  },
  "r1023": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3"
  },
  "r1024": {
   "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"
  },
  "r1025": {
   "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"
  },
  "r1026": {
   "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"
  },
  "r1027": {
   "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"
  },
  "r1028": {
   "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"
  },
  "r1029": {
   "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"
  },
  "r1030": {
   "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"
  },
  "r1031": {
   "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"
  },
  "r1032": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479532/912-730-25-1"
  },
  "r1033": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1034": {
   "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"
  },
  "r1035": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/944-40/tableOfContent"
  },
  "r1036": {
   "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"
  },
  "r1037": {
   "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"
  },
  "r1038": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C"
  },
  "r1039": {
   "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"
  },
  "r1040": {
   "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"
  },
  "r1041": {
   "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"
  },
  "r1042": {
   "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"
  },
  "r1043": {
   "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"
  },
  "r1044": {
   "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"
  },
  "r1045": {
   "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"
  },
  "r1046": {
   "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"
  },
  "r1047": {
   "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"
  },
  "r1048": {
   "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"
  },
  "r1049": {
   "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"
  },
  "r1050": {
   "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"
  },
  "r1051": {
   "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"
  },
  "r1052": {
   "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"
  },
  "r1053": {
   "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"
  },
  "r1054": {
   "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"
  },
  "r1055": {
   "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"
  },
  "r1056": {
   "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"
  },
  "r1057": {
   "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"
  },
  "r1058": {
   "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"
  },
  "r1059": {
   "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"
  },
  "r1060": {
   "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"
  },
  "r1061": {
   "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"
  },
  "r1062": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r1063": {
   "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"
  },
  "r1064": {
   "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"
  },
  "r1065": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r1066": {
   "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"
  },
  "r1067": {
   "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"
  },
  "r1068": {
   "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"
  },
  "r1069": {
   "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"
  },
  "r1070": {
   "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>104
<FILENAME>0001174947-25-000197-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001174947-25-000197-xbrl.zip
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
M.E+#\NG+U_^P.RC[<M24B\?)U]@6_8!$%TU5/QN6%4D_]]GS/"45AS8QJ8E
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
M-IBN0;;#DBDHO<+?G!@5,F ^K4B!LOQY9%.9:\3,I$*/Z_A2%>.AWXE=0%(
M$N2-@S2S0HBSH&5-)K1*K!!P(/'>Y;!AWQ OHR7TZ9<VS3),HUECKJK\O#2N
M ('VBI[$F?9!=CT"!_W2E4,Y,2^^F;UB ^@\JHL9:"7.-3SP0;#NAEWPR0=X
MX%W<ZYHN^!MVKG/4\+K>];O._*.U"_/A0^?,C9!8;[K?"@^HFV5.![N )I+K
M6;\R2(^P'W[Q3!$#N"1>I>.B;6H'45(X4!- G+C/#]QALL@LDEFE)6RYI"LO
MQ0MX.(A\9(QK(1YK6X3NEX>+#<K\,D@^U20#<7$+LT49*C]%I38("KQ9>#Y[
MNTUEZZ&@L]E'KL![2.6->+(FY:BMI9H7\?E"T1V*?NGLT3GH7:SM09A4J4]W
M0(41$JOEJG+X;ZGLJSG([I,5-1$M.?WZ8'1HSX;#M#D?-:Y(L@;61*_2Q(D
M:Q;Y.+DH!3O#"C1BDCQ8I-_.1;R91C,]L82A)&3YUXD#U Y!84-N0AI.WH=?
M:LTZE/P&ET:"; Z_HCC)P?E1+)5C6HQ1R;'IG$8[,^.I)*"'OL^Q06ZKC!U7
M<*FU8I1PE+OB! 8=/\J9>!U6>480_XQ>(.7\P>C(SFPKKI+I?4IEW/Y!JWPE
MN4C\G,5V=N%*%*R/?@>OYU?W7D_,^ZM[K^>6]WVHT.C2XF\Q!KM.\4A^>Z?(
MR8=Y1$Z.SQYM=(KHUVL5_;>,>+9NL>;9>%PV?KG4K_)Q=D/W+6\= Q]X$*DC
M8J-'9=M8S4$E;SR43]"Y]5^\C[IW;[T*X=0^5W"E*KK47T+Z0:*SU7!XO[4;
MM_;.3J/=*A+D%5=ZZY[9?$[[:TZR;KR4S1L +D;RBF&E7G*>2)@ "@*XW^!/
M]^Q>1*IJH2M#!MC[D:%E34-@,\Z)N=_,3^*T1OOFT!FK=JX%O<X^D) #Z=%5
MRJ906BT1FB SBA'"8E.ELH,64-<;';&81F$AX:IWSM9B7&HYF?$)NP?I"L;>
MX!9'R[&>:'&T<N4R,U==+T'CX P9W'%S?.>0O23WI^CWP1*SP ^LKJM%VPB
MKW<YT[8O' L]<(YH%$5?BHT>0DE8NCG<XA(YWDPD'V=%;<:V_FCOXC6K3M/P
MK&F%$6/-9?4LKJ/*ZM -PO[XH#ZBIQZT6S1UNV4C-[JP\@=!FW[W\=/GSW[@
M:P$+2+-09]DB%T^70\?V) 4\XKL:FEV(&WKCS?FPGTO:!9*T)9N9B2I,3)6,
MU/#(,M!ON-0V5&S1-Y))FN4"S&C8=:B7"Z-@5=@_C\0?9$G-"(F=;/'HH<#Y
ML9')ZP(^'B??2G'=@$8#QY2M"8).[G*_;?3%CVY_+R]31H2!0UDQ6+GD#/$G
M3D<1E)AXS&HV5)JB\@&9#8#3JMB%Q@<9>'I2)\@1JQY?:=^VP$F<LQ^WS[D*
M2.$<N1TX^!+(QV0!9:HJKP/;"A@-\R25_U-:E<:'#$=:W99BRD<Z%EX_"5]9
M%[F%)F,09,04S9SX4R,Z&&);OBB/P9,5'7:12L!1GDB<C!80)5PU<I(DPY4C
M73SC<8R%Q%D1R(NU$(2LT_A96F O9.ON6OOE$<60^'QP:C, /0H/:YO@ 1)8
MT.<R:O&(%T%WQY5A"E+SMA>3\2DP/K0G\T63+Q6G!G%&C66Z:K8 XT;19X@K
M/BA[\>F4G#F!D=<'CQT97_4Z)>E='-^D![.7D7W"[))S?TAEW]]SM.-J!1G!
M*G6JCPV3U5*.*BF.(6:Q'B(F.>8<J2UG')?&HSPA#+^E7G1_3VZTX(%N6Z^8
M<0DG= .VM23!1PKIQ'XH5UXB@..TXW(JT=I JVK#R%,(9KR_=\ZT%QZUX"6^
MC%6";R)?=E-';M)I?J>M3((2'%MH<[NI8>$+&2[*UEX@])9.<)RKH51?:$27
MI!SC&%N0*5>&\I&PK,>):A?)ZI@8;%XS"^/HJ!1F(L[WWA&JO=(BZP>53J"R
MU<=?&7U*969 U&=,V,I<9K55E+DV!3,Z.SD[&] -25M-%8.QM/4E\ X(S]4,
M-"Y]8Z"6>3G.)DN+V>*29AE^J3N>B*U+ BPC2!*15-R!PA^Z0)^/E\57DW1J
M:5S:UER1(WGQ,I8_K.]W"L%VPGMY=!\&Q;P?W8=!/Q;:Y<: !D2MK<:>L .B
MCI$D<,)8)I) M@++LS9H_/U9"Q;4@778& ..H>F9"09=9+)Z%Y;8@;N<N%B
MX$F-352VFDJQ*1_M7ULB="[PM'@6&EXBFR'C!S+Z]H0XG(\SB3$3LJ#(78A2
M06(]AS%/ AY?=6DK2=GSB%1M94:Q\T^!-^;(O>ON Z:709/.,Z./6W;2.&2
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
M(\'C6O&NU!$_BVQ^I26W_ J5['X=ZS)Q3J!4/$,G[;-.V==3;W9DL[B'OWG
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
MY1%+$FT"_NNM/E$4UE121+L+)K>HQ()H31BL)4N4B'$W_%*'SRP,Q48O,QK
MZ!YU*G9+819@NN&6@G!;>[42=U.M>%E&XD+\>C)JVTB1,KO;WT1L$^5$F?J<
MWNC21(NJE6@#7[FX0\^M:.<[E;4G1'1Z_>D(!J/I=-X;#B?7/W\RFD;VO)SW
M!N7S[Y.A,_YDM)K-#\9[M=<P,!E[BT=7*"6BO-0ZB_+66^U[CX0EO?&0[AFV
M,RQWW#%?K?%8_9QQ0S>F8?=%Z7'KY.F&O;GCH->+# G2,-Q@)D5QJ-FY9:RD
MWU(F:83YG.BX/;#@F)P )D+K_-@_V<;Z@=];:F/ LY1K79Z>69KV.;2&L] O
M.@[_Q_>M\6W__?@RCN4JRKLL%DI%&,><97F1*8-/F,3HQY(F.LZF%I,P1).P
MB#,LHRB(,?!F=BA@G'!/+^-]/M,W5RL85[TK#7.:"*R-F<[D2;FI_QO1/Q"5
M=JGSE%IO5EA$5'// E=(G\J:)\*0Q G%_EE\,K*!]'4BY3/K4[I<G'U *EW-
MKIU=?+6 1"S<=%X;68<8_4[NC)=>KZ@K4R(WF-Q9TSNW&UI;3M]GJ HKRPSI
MA\3["BUT52)"YF]=<GJ!J)>-P7@Q63JS^7BTR+K:9#J=W3RPYTU^V<9T%];[
M/;.WX>Z:_@,@W-O[]V/<YN$/G(4'F!Q[D. "%D.!WZ:PIH5YJ6()) JIKUL>
MK''.<2GE6!O%+<,YKUHIII6BGNF&AL3%8NGJ9EF45W?S;$^02LZ2-0J+"Q[/
M@K!W%)3 5 8G"""-<46W8QR3Z@=V\LM;?JK5X(K1T._ G*RHA9<B(NYAS6I9
M,(NSFM_1RHM)P8(O)$Q1?'D!M5K)[>'DRV-=>1N]B-6S1IJM[2T=[;)T8)&;
M[VN$^;<0"][9T_> P354MN.$TGP+G$V,5O8D<9EGP36):.ZB:Z'MOORX>ZI1
M'M.B!P_;#?3+^URTZX)W4$%?\ *.7=C:GCR*+[!ERY.&_IDD_]U$_[SR%U!+
M P04    " !)B%-:47S[(? $  "[$P  "@   &5X,S(M,BYH=&WM6&UOXD80
M_H[$?YA::I1(F+>\], $"3"YH'* @IOV/B[V&K9GKWWK]1'^?6?]0GR$- EW
M5->J403Q[L[N,S//S#YQY];Z,.Z62YW;8<_$;U _'6MDC8?=3BW]QME:-MWI
M3\V/,+<^CH?7FAMPV89&/91@,9]&,*%KN M\PBOI0 7F5#!70T,TG7UMQR3Q
MF/T*<P-\(I:,9T?5H6Z I ]21_LEC@JV7$FMV[F93JSB$7HD-QYM P^$3SP#
MDK$U5:OS0:T[_.-VU!]9Y=)YL]KLU-0>Z/=L+^*W0'T&8[][PA=1:'1J_6,<
M8U,NJ="Z RHD<YE-) LXS&(1Q81+D $TWL%OU7EU4,6=[&2V<7Y9KQP12R^"
MGA.$DCI%($<\,'>L5;^"P 6YHC G8D$XC?3I@T<WT+.EFFG6Z\TCXL@S_>\[
MX,\X0OILM.Z(@QUPG@5TS>0J"6>/\YAX<$?#0& D.=Q@->&!^J_E$L9U+F/A
M5^ N7E(!)\0/#1@$?DCXI@(C;E?A5&URXCF?X\#(9DY$\G2&52J2,T)$&#A
MN8/$,:E-_07N=MZH8-J:%Q4@$;C,P[DM*LQ[+)ADZ##A3KDT?+!7A"^I.MQG
M4:1<P%^UU"&2PHH*BFB+8%*/<BR(%@.VPL AA:M@,DXI5['C#$'>,YO"3-"(
M.9@/7"@HB6*!(/%T&*P8=>&&<<)M1KQR:>IB/>)DQLAM0!2*Q09SJBH6G\.7
MBU7Y3K*2*BY_%?&3#"GF5W !0=QHJ%8N:)04A;^!3SQ88V27M/U=N/6$J%:O
M/Q["8#@>SWJF.9J\O];J6O(\G_4&^?/O(].ZO=8:]?K/VJ&GZS(($W9GCXM
MRL!/,'6LNWS7+RKV-O%R^J.1NK(ZEIFO6#-'KM"L>LFXINY%L_OL[&GC;'?!
MWMJR,.A9!;FQYR$%D!*>8N^6T8)^CIF@/O(K4KEY9,$I.0/D8./RU#G;YOJ1
M_UOJYPEOM,XO#$7,%%K-NE,?*@__Y_>M^6V^/K^,NTIG)$G#1BH)MA '1Y-\
MY<DG3&#V0^PD*L\5-4T\#UW")H^M UD0A9CX2F+DYAU%[><PM7.YI!H.KHJ]
ME"8!]L[DS&BGVU3_B>P?B4I%ZNQ2Z\T'9AE5W#-@$0B'"MT./(^$$0K&_"\M
MT<,O$RF5S+MTN;K O4/B.(PO=9&JSGKU74*P)U+5)3[S-NV7=+2)G&BG(7KN
M\X8N1$S$!DL^N2HOMZ+6,I]BS7S/ZZ;O$?L3-#" 4> Q9QNH\ZOO[\N\9MU.
M/_3FR=4ZF@R'DR+2A*1O"O^6.D4_#X>W>^]_&[A\U4X,]58HM;W _];@\)B_
M0KK\)QS=D5^0J:_]OFU;X0_<"(\@[GL0X0#>1P'&'"/EI;<%BR"2V&>4ZH 5
MEL "V8_74_ %V8*R.M.+V962B-TUP_MJH?1*=L.AH-U=X\:"LVB%D]D&7\MU
MV*O6!3"9P'%=B$,<48H(A6KUQPORD\U^TG4D(/6<-LS(DAIH@=BYC1=,PX!I
MF%S0;;5S)NL,N"=>C-.M7T#7\PHQ1_<YJJ+FN0KE$]63C.WMZ,V\HV-)S?:I
MEO1?RO0=R0$"; ^8>E*_A2#D[AM@;4+TLB?(@MD&3(A/TQ!- N5WJU6TJN5F
M:NHQPIT:QN6P$!5#<$">BWUL!T<1MO(GS>(W\VK+J)IZ^9:^C5,O[?X"4$L#
M!!0    ( $F(4UK-&MG!*&4  &YV   -    :6UA9V5?,# Q+FIP9\RZ95 =
M49LMW'AP":[!27!W#Q8TN$N P,$)[A8D.(= <'<YN'N0@P2' SFXNP8(06_>
MN>_,=Z=JZM;,_6INW=VU^D]W==6J9^_]K+5V/R\^KP-X[^25Y $$! 3 _.\%
M/"\!LL +5%0T5)07:&AHZ.@O,+ (L;$P,;'("%[B$E*1TU!3D5-2OF+@8'Y%
MQT9/2<DB^)J-BYN/CX^&65A<B$>,@Y>/YQ\?07B!CHZ%B46*C4W*0TM)R_-?
M'L^] /X+A%K$8"0$.@ 1'P$)'^%Y * !  04A'\9P#\' B(2,@HJV@MT#,R_
M+S3A 8@(2$B(R$@H*,C(?Y\&_'T.(..C$-!R2Z.^?&^!1N=*R!.2E/^"7J:N
MCTAS^IR!]\.G4'0,8A)2,G)&)F:6UV_X^ 4$A81%9-_*R2LH*KW3TM;1U=,W
M,+2TLOYH8PNR<W/W\/3R]O$-^QP>$1GU)1J<_#4E]5M:>D9!85%Q26E9>45]
M0V-3<TMK6_OW_H'!(>CPR.C,[-P\;&'Q)WQC<VM[9W=O_^#PXO+7U?7-[]L_
M=__@A0 @(?SK^ ]YX?_EA8B,C(2,]@]>"(A>_W@!'QF%EAN50/H]FH7K2SJ>
MD!>$,DGY=7WH]+R:YT0?/DUC$#/P;3!>_(/:OS#[SQ$+_3]B]F_$_C]><  +
M">%O\9#P 4G@=V9E&9LC8WM[RH=00DZ&>!<B!4W[7/4H:M( ;GZ$"N;$2]+@
MR\7N=1[Y7D$7X8.9Q@=9VX4GJCEV@FE.<ELRE(Z1G2\\$J>G:X:78]B"4.(G
M?*,7?'[I!#ZCK*IL-*#&%M9(#/U@9<I@)0:L9'AJ>T+= ?BVH_]\U0 N4>G
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
M0%R^/4LO7,RZO*\$ZB;VC01&TC[G&Y#?[4["58XLF5YK21LI.VY[*$G@=.(
MX:"=(0)3:?JAI:_\<*TRMUCZP$W1$)]&W50-VCA#O<V9N;SK57!#.1E=5F9L
M&BM[62I/H>_@;&R><VWSA$>#PYZQI&##IMC0];U33[,H5('4LE/@5&K;AG#E
MY-$GJ.]^H/K1?\)+^S:7/];0Y#L(MF;5T6P /SBE&5DV0N5/LJ2G)QMSK,2^
MH/81TV+*MBD<<;-$F?,$3^(EI?$"RG%E6K;#$_K4UPV2_6=8R]+(:.I6T:3^
MP4G&BB%;$YZMNA1#:H$.LYS^HANBSOB+R\N]=78D/&'.I"GSC&#^]6,TD+7I
MMM9?+<EM[YPT>FLY0-ZT%G5%RL&Y"WY]VJ2=HG_^7? [TM6)H01_&XR]4Q9$
MG%RC_ICO<H$ISO'BF[G46A?X@S2CZUJLY[B'0"#A-!O'":2ZZD;5X9?22Q^(
M9R.4AUI=6*)+5$=5N=>4:OZZ%,;)MFM_HZ/UQN1'%J=TN#GWK69\5LM!S\:3
M;)#]Y!/Z '/T]7"G##_3'",8G;^RFNM@4&],?RLVQ6+HY*=Q<LXU.(?_@CJ]
M0/R7'7AEK,Q6X3WB6Y/F^G09_S2D'81VRDO6^0_GGF$XG7"X?HC_CPGCX4$O
M+K@^DV<$?:AK1CE)Z -KH<&AYM\M#4K5-(#U3<(J_I!N)SI8"=ZE1D+8;'CS
MU+,![>RI.7H8#7S1/2?9S/](_%LC4R-!W1M+\"7*ZMNDB#?O@G%PU:L]4W[L
M<]^:]<.:74&?&$"5+9E(8@GTQGCI$[L,62Q4ZN]R52]J(CT<U>]%H-K1]H4=
M=D"OQ&J'?JR ^)<*WPZ"1L/,*UVFALT3I/X%[B4[>!9QLF+F- ,SHULL+"4B
MWZ9"?]#/PHUHL+'P-9L*F=%%$<_XOW1P':.X=Z,S\O%^:6"Y\%(6H]W+A4I+
M" I@6)#?U!YZ,T-1"4).5 G9<IW^&ANFI8$@1VN>!W8!1JJN%QI;IN*;6Y*>
M@8^?>2@2-N XZ(\L2/+10]/^>GFW$09T,Q[*?FWT%-GTSFFXQAZ##E,(<GK=
MW<VS;!^[.M,MFL.51^C=-43GIH?KA^KI$6.17E/UY:&]EW[EP8]=O=)UTKYL
M.$DYU>TY0H&J%1;_XC<A C^1K!ZL\01U["2C&&YD=(J^*ZF2$UK_X39D0^G8
MIBO&J-G/&^,+U2<7_0TITA%FM! I*G:BB02J6YM[YGN-P_/JM,SC77D4SY$%
M$+(535DU0LV!*@2;T'3 @YXDB[WO3[/O%&K*_W5MA*"L:Z)Z]9M<#)9DNNU@
MWYJA>)'SB>CKU6^(U_$S@-^SS[R1\(#PU[G%+YC) =ZY ^(DT+N8I2+[TF53
MMK>-=XY?IS>I^K<];<S_.!9QH%,HNXB<W<KT0V%PC'ZL#,:L&-:8SUUUK3R=
M/_^LY(X/9":(1B);DNZ+"T0#VQ*3%R1/H8&DST OV3-P>Z)Y,=79TG4>=[^X
M8H8INL6XL.B8HQ)X$$(KKT@F?M19$%]^@Q-'S>]J73W&5%VU= "O3HTK.X2=
MN=HC\GFI.M6E>+WHX5I>G!#N+9E$BSGI%+YYY! WF78^9:^J+N4A"Z\J;S+I
M^].ML$V\C7'CR]*<^M13\\LBL&?A^DDA^T&D[H+0,/L9N#E:);U:',IVF$T=
M',;Y\7$/(BV=:ZES;31N.6#*.[W5,G56M3=CTV&3X3T)EHZM<JB)%=A40.SB
MB:;N> 9,@Z+8.2T'KVS]WR(&Y'#B,>[=F$S!L#<2"Y<=']=2.D*7VAU.HAW:
MS6(<^.:?1AVM(9!.H7ICLJ*4X3:<S.#E0 ,!IUY2_A-MC:%&,?5CW[,'>I(/
M%-7NAH_MQ(JKH]M8R*)]J%K"L5E6\5O!<IY/E&':<]VDJB ?>S$2\-(D!N-
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
MPIT,F\-QG15_$X3L/:-.OE1]TI7E\I,-?5?1>HQL&"5%CVRQ,PY*)HZ*P(<
M&Z%[&[[M(4=E$(_"OQ<A +\LR)4W9P7?IL'MO&4VKM'-E0C#G)@2.<SH\YC!
MJ($I)-''C0GX5!P3%$:L;=<*- <?^#V-K/YDISP#C-1G,@MGM>(X[<I'BI#"
M)O A86ORUR]%")G[(AD<-=5L,A0=9>8XGN6I4AT)>>,^.]4/=\XQG(5KI6,>
M I#$Q[AUIO5>'9GVYE,BO=R.>%SA:F?R0Q''WQ';MA[L= (YZ&#!3@V5F.E4
MWJ2(X2NQK3"E'J\TD!],Y"?G\49;/%RY3-,G:'Y@!AB_HE+5K^&=NV;'N;_'
M5$BOYCL:BI\YW30:P6<,QXMXB[S> .:&2B<?F*9KSW??O/-JR?LKJR,(W\L!
M_V7\9%#\X&/MH3BMS,O=JR$"ML_MN'BG&A!49*L19&MWDW3J;CZ"[)P4[N,B
MY4!Y0B:$5LS8$U'4U3G;Y(QGG)FM-B.92@&B8J=/9M[3'QEQH&K[X.M.B&#L
MG:QQ053TTEN" N28X1EO='^51*>C@;,_"XSB*"+C\91FS,R*\5N7' JV1V9[
M>/EXWN<8M<5F$A+HX 7,ZXST(EWPUP(: (#0BYCZ+Q/I]6$SFM9L20.)&_R+
M=J42(+.DCNP_VI];_)$SPDJ5>DE9U4W3R-OR\@LBW@P3 .1RQB+$QM(,M>SG
M835-.;[4F(5H?8*6]DXM24EL6B%T+(C*2WR>(UFE(JF'NCZ6^F'/\8K5JH5C
MOJ6T2$0L(H*6,:\V[^?A?#!#7DHJB7'4TFA\FL3Y</E0BG7\:8;+W=QX^Q=4
MRX1!<7H@:H8OM@+!<TC_+@N0I%7_KV9*_PGL>-20L7<7P#G"/L*'6M'&D56C
MJGO@&6I1XMT75[O!(J)C8R82,\H=2U'5)UMD/A]=H@N7<U ^29ZGV^6\$A6C
M*J0HPZ6!M\?OLP>6<7>;;@6C=2G9K'OV="1H782OPYP33Z.7G)9$+9\&%,YH
M;G*92]\=2P'F6 A2E.;G<D^5OVYS!^!QYY*^,R/=4,>$T\1(/]Q/\\46ZY+H
M!Y4Q9C@'%6[99T[UPG<-5KD3[>0L2%D+8A2E1^^-X*35)\?(F9 /$2LZ>^^G
M!>-UW!8HDX84^'\<F*'R87-OB:Y$+]&16:P@CXD$8Y73<;W!X='8MDF*=UNR
M>Z*=OJ)AOC?2;*[_U>)CZA_BM44&A?!(<K\'!;).\7<TV)?8W7AY(6!%"!5C
M+4D#6;Z?)$6 7C])4F^CO88V">:9A61[3QU.2[,;!E(#B5@$<5ZC59H+IN1-
M?5-[]!<Y2#N3CCP^;DLM'NYBY5O[KD/V']MZ\+UEL#]LBJL-;5R->R)$\;\
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
M],Q?$R>)?S(XWZ#)4UZC(76YBXP7+<#Y=XI;6WC&7]+%?%TC8W"W6-;+!4D
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
MBFQRC*I_A;1:QS])NI]#U1$_J='VU62$)IT2STB)MWX[-CC:+PP6+%@!*63
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
M99Y]$#3WR,QT;I(CS]/(9?I#Z7JY;L. !98ZDX-:3K- ; P7^%5Y1"GV\QK
MHS[F40,&G7L\7%HM+603PL-HQ08+33&5%"LBWR>/1\0/DE\:)^_DR8V0DHY(
MFFG!(_.2>W:=IHWE]N(XDK][MB^CJ7[)IA&8'556IQ.8I=0_ N/@BBL0P8<&
M-Q6LWQA(O_'STT J^R\*6E;<@< W=>?;[QDJ&6'YGSSA^D;8L\:"]_2UUY:]
M>=CBLAH-,U5,W3UMT7 8T0I#??/\>V.;;(CWWXG[L6WJ@6OM<HV"D_/;8\@S
MP%8H4;I+/T5>5WJK>V_<$V-PD2S'-]U\K\K$VP[_<</^#(A;/0.VY\*]^_:-
M>1B&NDFE^[[NAH'I(*+J*MF=>.Z0:_$1\9'M>3@KC>F%6MQ&:U*3Z%R\@5#$
M"H)/B4143*IS[]]Y]N%HE77Z0: .DN_QE,R)9RA3HK0K'BK?F:MR];M*4G)(
M@G5SE7XCX'7/3M5AO=F[[I'1P=M3BP,C0]S/[D$XC<D&2XW?_G8L2'>;&_L
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
M,I]X_Q+#./T;P[SDS?=_ U!+ P04    " !)B%-:-^^C*F*_ 0"8(14 $
M ')G<BTR,#(T,3(S,2YH=&WLO6ESV\BY*/P=OZ)?G4QBWZ)H+EKM&=V296FB
MQ%HBRIG,>^M6"@2:)&(08+!(XOSZ^RS=C08)2M1":C%/G9I8)-CH?OK9UY__
M]\TP%%<R28,X^N4OS7KC+T)&7NP'4?^7O^QW#HZ/__*_]YR?_[_U=?&KC&3B
M9M(7W;$XB(>CCA>(R\2-TEZ<#,6[;/A>K(M!EHT^?OAP?7U=]^"9U L2F<9Y
MXLD4/Q#KZVJY@T3B8A_%;[#BD>R*YJYHM#\V6Q\WF^+;Y8%H-5J;_/@@@TW"
M1J/THUKSES7UGJIWK)EG\RA+QN;9FVX2UE/IU?OQU0?UY0=XRX;YP=B?\?#8
M+SWHRZ#Z0?BB_&"6F <1)/1PG/0_P!<?LO%(XM.M]49[O=W4OY'>C%W %Z7%
M@S3>:#6WJU_0:C3:']03Y@<WLYYMPK-1&$3R7Y\OOA:/9]7/%X]^R/3]NQE@
M$&ZOL=YHK3=;UB+K<(#20OI MZW3W%QO[%A0@2>_WW)2_+KKIE(_GO3+@$_R
MODP0.0B"S5:Q<)H4I^RY:9?6A ]+H,[3];[KCJ8?5%],/HQ7FU8^3=^4'L>#
M^!/XI,ZU]8&_M!\-;KOO*,W<R#-0N EO>?A?7P%FQ9.3\+UNTZ/-W=W=#_2M
M>32M>@Z6;'[XU\G7CC>00W=]:B=I</]?S=X/<H0UY S2]?<<@?_W<Q9DH=P3
M/W_@?SC.ST.9N<*+HTQ&<,>9O,D^T ^)2:W+_^;!U2]K!_S]^B5<S-H'6/,#
M+_IS-_;'>S_[P95(LW$H?UGKP9,?1;,QRL1E,)2I.)77XB(>NE&-/ZB)CDR"
MWAK]"C?P ?_WYU%Y@6X<^G.L\DD,W:0?1!\%/MKX)'#_ZVX8].$C#W8LD[6]
MSN'!MXOCR^/#CM@__2(._W7PU_W37P_%P=G)R7&G<WQV^O.'T?*V\]M^YZ_'
MI[]>GIW6Q)?Z01UX^.;&[E*W\.?_:6XU/BWUE4=G%R?BY^#F8Q1'I_D0?N<Q
MUMUD%[+WRYK76!.1.X1W@WCX^"7VX)DH(WP3 ?#ZX.9JO;G5WFJO[34;ZW__
M^4-IJ;T? 'R O*??]K\2#E]>[)]V *7/3L7%X?G9Q65GJ;LY_W;1^;9_>BDN
MSP10%^VCV1:PQ^;F._^]N/SKH2BHSC$4MW]P*<Z.0(EI;[R="UO;>W?B)M_%
M623?+^P5=U .*P5():1(?.S&<=AUPS#.NO%-%6'M1U'NAA=R%"=9F< V$%R[
MVQM;GR9I3",@8YRX"PG@HE\:'AS%B<@&4O2"U'-#,99N IJ\#[KU_/#]Z(-&
MOCZ$!P8(UG7?':_C0NLRJ@+T.:P7^X>1_P5^5H;TYGVNM>JUY3<>Y$D"+SRB
ML_T..ZI\Z=;:WA?IR6%7)J+=G+SBVOU9=/&^(_@D+;]M>VT/M;AI;OV,W/OL
MXNWPGO(K_Y.G6= ;/SVW( ,V0*.CBF/L*(ZQ,<TQIN14%==P;N4:XL5PC<Q
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
ME4IX^X?D!9=P!VZ_#[>(# %O5V8<==0W=!63VH!Z$9K4_"=P!(I6(M5G8P%
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
M4AICPAOMYD%HLIA4J@MEPC,>T.CK(:81N#PDF]2B7DYY@LH&?+,W?H_\E O
M?S?!-"RL42W8W ^0/&P*AR?K&$IX/Z(JBU(>P9]V2J,>=J<&/>S:_5[MJH@:
M%^I9(+<E"S$T<@VIHAR4/K&(X)!3J7B*C,E41(ET8XI%^,&ZN)CU&GF#0D]R
M\IH*;2H9D'*C$_.VE/KOS)-R,7!]IYQ$L=4HUS&FTEC DYXPKDJ9 RZO:N#%
MO>CPW,THHY%RA/1\J?0'H$);PP'U-J4LU3A/T>^!BDXG,]%\E?4*FEH!*S.+
M*S7.D2N,K\F(_5"8Z8K##UQ5"8>8S!D\Q00.( AJTI^9=V, "4CH.%,=H4 A
M!TUH/%$IY:"P AV)6T?,W)6,L(56F8SQ>=.VTI=R6*H:@Q7OE=2SNTKJ00CL
MKI)Z%D2D:%YRV\C$&$-(68EIPS/13*7NV'2-",YFT0PBX?K2XBTLY+CY*Z5E
M*JL8.^KH=.-,I4 /WWRIX?Q2Y+!(7@6E_,3-,GODS(\A1";-9#;U4#>B+FS&
M\B6UJ00OE==NY[.;H 9UDLL2\KT8CX)4UCQ].Y!NF W&PECO9DQ&H0:9/(54
M)];C5FG*CDP=,U4JR-1( EVS5&A9:6'OPN/\'C)XAG$44!>D"4->B[3R4945
MCR977?PUOI;4]YSWY$3H/L"&VGF2FO[JY<H-:V)"5H:]U7BJU-J)Q)WT38T.
M2:04I;+VC, OJ.4=%H",XM0-:XX;8.(V!SI4/ZAK;D&M:T12T^S1/J'N7V4=
M4VF[-)$KLWI$3OD)2@>M%;UA';L?;+FS]NSJ+@"(:7E=Z68I7"PS+TBQ0^Z-
MX<1YYJDZ/V[R:_]J!I"OP1:Q&A7<U6:@*$AA/Z1I*6ZJ41SL6\"U*/==TNI4
M(*HZ%:R8>5'=1GX\=LUTX=[)A7%X VHM.;[.>CT0AS\$?^](\N$ P7#/>U>-
MW,*1O,@7*%>7V+9"6.+NW --@RM6X)K Y;J!(R7T2]VT&3E,(FWD_QQCA@'\
M\85:.,332ST[^)\H=*-"(AAF,9$8[,'GCE)0B?6_9@1I'C)CN](^:1;VB368
M:.?N[:NSKX>R![]J-68D 9ASMG9^>D3X!JV0VT: /^W9J@PJ<UV/.<9^_V6<
M8JOUF%.<:X'U&TI719=3L:]'3H&_[R!V/37^EL?+*%NDK0341NNC6-^U#<2Y
MSU$58$WZW7>MQD:MU=ZIM38WW\]YU@=?R<$@P8+^$6;G_JTN_AY@4^7;4*T*
M= ]^^];6;:^:#^P/QT90=@)?]SL] #ND-RV_Q<_=Y,.>\RZ/L@!M-O2 *A?K
M^_MC;M6-_\;5EBN4?BJ4OHQ]7_R&4WS&/=CATI!Y<_.U(+/I9+%"Z%>!T /X
M-!7[==!M(RFCY6'T<[+GCHQP'L4_T:EHL!L>PK@SMMZH69A^9 Q8A>DK3'Z1
MF/QW=/6)SQC^#'SX-*DO3]78>$9<GD3B7]7<[ .XC%3/LRBR:SH2C5LW>8!N
MO$+C):!Q9^!>1^*@+K[*]+N[/';<?D$HW*%VDRL$?9D(ZB;N0!QA[Z>PNTP=
M>.,E<=E]?QA$V.'5+35<7*'J2T)5^"O&P-P)<-/X.I)+=#XT7PRNHJOZI!3"
M.S,AO!7>ODB\/0F\@2M#=#3\%H1IO#RK;&/G1>$M/GJNXO%5*:HKM'U):'L1
MHSZ KM[?9/)]*$$\HBG]MR5:8IN-%X6_9MA<)<8NI/SUUKCADH.WE0$ T96>
M.[0!]6=W"/A+WA9GVJ^(75S=L=A%/V)SNXZ_N\*\EG LL/08([<^MA*M\E(J
M28<R3ZV6!IB!\3>0AR:AN;F!BZH!N91M,9!.L>[TK;)Y0BU;S3!!7O<4$[.Q
MS6MK&U=N;-7%26(.'B<!@(P20OX3!Y'TRQDTF)3>:.,K#1 <'7">\5J5G91W
M4TIYQ.$"$QN_5S9IL[%*)T4(-!NK?-(%L80["0G;GSN&CHA &QM(F9IFL?X
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
MV<'AX9?CTU\7E)S_8JB/IV&:P"0WH*2^GA*94VK:T636T((@U54P6(^5@6@
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
M_:BZNUD'@[825UO-^J[I8 I@V-W:WOU4ZIQX!_8^N(GC!8;*XDCX;N86.3B
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
MV/&&CHN8R8B%F.(;^I8+!JD/6N9)9,/R;4<#TZ[-XVGVC0N\VH$>N>,+S7?
M^FT$@[)[RUF0M0FC)S])K<SQS95R7Q<A[6-]\1TN93!KQ^:[B?:/_E[LN!.;
M_-9WTX@+A[V&_FI?O/[3M1835#^:FLIK#$'R!;"O@S>_OK4/2-#FQ./&)CNN
M1KCV2G_A4T4):H]Q^!T GF<7_Y-?E:&JC)C*<H$X,S!19D=6Y+K^2TZ,K" K
MZS#<W8)?928EEER"[_GS6""IN.XA^?I3>) JZGTS%[+^A2TCQI>>.VC!\;;6
M[:V<EQH5Z-YV0B8LBEX,BGZ0Q ()H6KR2<X#P<>AA\/ X/NPGW<%FQ]D*?6V
MUFN7D9MRD"2&#^CE'XNK']4,F^$%_=]6NK15Q1PS#*U=4.@>:4V!PLZ@# J/
MEI-UF)74V[4^FD:[C*2L"L[E]ICK-<EV3<=_:X-!50D7IX*1[VIFKV(>52NE
MGN-[Y'([XFH5 W5N7JAN5VMW3SA[J P>];O:T#Q$XXE:R.Q,^.@TI)'>;G4.
MT>NA\7PRZ]\38U_)O=FY<U+;OMOJRUW_/)L&K>$A-WTE,/V#1R:%EK #=<*F
M-B*.+8X]MMU;C)8CE"J&)FM*"AXYV727SP;*02",%PZA6B@NC\6N*7!'2 )X
M;N$2IM!>NC]J::RI^(S*M6]\=U)YG)  =]8]%J%FKLJ1G%%1^11F$*43OMQ+
M?<@G&2Q&H6^-P_6T*A&)^*X'7J/>64PX0B3UCN5W8E%QWT?T:(SZR# M!E:(
M%8IX2#-&: 1[I/<@SN,IKN"M(  !2WQK!$58Z:-R.'C!=CC(H<1!$@YR*'&0
MQT)\+,,RU!B7$067RR+E'[S/@/.D?K!"ZP2PDC\\$)3SN<-Q@2@G@\4,NP"
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
MZAQFX$TTU9H@I?#;+]=7-ZE'S5<M!4F_A7_#>8;7B.IU^!H:Y?F9)'V"?.;
M+KAG2'#VC8D9KX[OV/@G%@M^4D=,M4(^312_"CYV"Z0$ 0X"P\X\*B:I(3O&
M\'0(?_IL!*3"'RC4D1Q8#N8&2#/V++*>L) ?+!)6_O.F4ZPF%)D9RX1CK486
MVLCC5N,WYMG%Q_S]1WMC_7XB-E*COVC)E/PEJP0(4[&A)!$P$@$C$3"R5F&=
MG%^2PKHZ$)^#P' Z$C4KZL[ 1N5*]L.2DOT>*]D<Q\GQ"N29[5[AK+A&5?[K
MPL1.L*2AH;7U?OD3D^&=9LJ^^E-XG#[EEYD;YV_)]>6*WSAWCOL49J#>U0;F
MH.YUM_2>9AK=VE,YT+IZ6516FA+TLKW]!2-":?]80'YX9HWOA']*?6 ^\,ER
MQ@N'#"OTUU@_T>6/;IL1@]FZ2T&DD+Y*NS4T=>XL B7IY1 [UJ+:#6"29?P@
MDX4?O2-RE#DL"+A7:25LE77*M5284I">%+9[\%P'?HFNJ\<G!6=IC4/LJ $K
M]I/! .0*Q0@8O.+I7=4!"/Y?OE"'R3@ZXE8==EO8O3QOKQIZ:T@^?7)!_^=_
M#'O]X?O8(5U@]V9<WG1+G5HSVWEZMYD?V!L']H/G\NXCZ:CG.E^O$M[!1L.M
MY'JA>H^CV"L.3"U#^_K](Q>UDD7]X-'BC#TW@.7TU;D7PC+:<,Q!%)#0"((%
M#/!@AW>VJV3D%+JIQW>6ZS)'@TTP=A8D9FX];Q*<(Y-]"T8-N7=;+G.=EGGJ
M+%"8\_96MIM1#0KWI[<*KEB9@OTE&Q\%H09K0E H94'O@YJ>@8A]N&,\Y.4]
MN,Q'*P+C23,O"-6IZ"2EJ0R.-&P%%[@%RGT1,# 9;-#F>&JGS/?91!FA 1#A
M$N(>5)_M,7,#QEKKXF'4+,H)O!1%:#_ OV8V*(3YW &6B6B8^-!G0 <\PX6%
M1Y19$Y! *&PH$*=@F \>::G+UG"%^[(DJ$REM'"#="DJRG4T&'4N?F:-/&#@
M ]AJL)2$1!%*^,O-S2?\.UB,@,UC+#/!!Q KF='@$]@ XQ", (J-4ELX$9UU
M")MH19LKK0W$0+B]:!. "!HS>&"BC"T?:_-@!--HO[^Z^HO^TM^_R=DH\<X"
M3012@)K3\4_@.Z3['@R*J[^B)W'Z(RM@581"GUF+(VV!R]7E'X.J&#'5!C-K
MS"\B"FKK6T82/PAA"57'>N!14Y_=XGV%] &9]7#%X.L-K.4?V1AKF:-R$&H#
M+0/:2;>PNWP7+RH8>;UE[MBNA/6UK4WQ+>Z4]P*@(=$-U&?W-GL0-\S<<+VR
M'1Q$2Q_OQ")QV#US@NB6O'8DVK5AYFJ!H\\=RU623H;J=@"VC@2P$8"M(P%L
M%9VH:'?#[H41\,W1SD<9*APST5'SJ3TM0UD,VC:"/A&^B=S&U!TTM=D1/SI\
M%<.L4OU<.<#J5,544;E]G;#ZY0CN&#(V1>OZ#K8#W=A3$A>L-XZIPPM IZWU
MVVW:6K&7$7?3R]@\6UVR$W6DI [QLU##!,*([!YJ>AZ[^<4(3&+?>R15"P*
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
M/5EV%\UXOX%3!'S0A%AUN/"=S&P79+I/6_Q44MSCR?+\\M1\K<Q\5?8X9VX
MXZY).U<.E78NL\EE-OFI9?K%<IVG"$?2_2#TR(30AF\3F4TNMTGF]77/&I:[
M E^_OL?'H3/+CYG%'5F?D7FYXKL^?(YP9U 0E=Z,E.=.KR"&O1G3,6J=7[]Y
MX#53ZA>L0[OQS3(:+RE\ 10>&[Y'%^;?GW>3%,+=U!YO;.9(6PE<7V633%@N
MEOR^94N]%\FE[JHU(+.Z7XIZDQ0VWT00"'^>[.W-*2Z_X8;;7#SV0*\2CGUJ
MZ/5^3Z9&%.>6N5K7[ 2952;<OU?0;MB)8T>#AAX%DA&CVQ"KLN2@S(2^E74X
MG@<+<3\VO-!VGE80&@GB JZ-$Z8&=]X#1[IH^,D]<_CK)G:X\)%^?M$D-180
M,&$9QZ&,GE+@'8ZIN_><Q8R=+)AC>:$$=D';="M7"H&PBBX> KM8$'"@4L#\
M>^Q;4A5@J4H(2%%<S-?8F+EVQ]ZL.A ,D#2*YSLZ',HFF:!-$Z2M\ M6@4G#
M8X>M'L);E0PLMJ7^N+,#PF,ED"YO"D_K"3:6H^PP9ILR#,6K\+=ZN]/JIE^E
M]UL<BTOO.OY9W@2][TOH/4'O^Q)ZWQC\[Q:R#]2&KRY+0/7U1ZY:WFCPQI-I
M?,/_VS*H>0N?N9!2QVXZDZ'L!(" )>+]FHS%.!08HC"/#H'(VY%I<LVV6K-R
MX7%RS<I=LPJP:J>R1)V:+%%Y8+'M,>X-"SU("E\"A<?$2W[WGBPG?!+F> WP
M>.TR^JG4!EW8KC7T<R=TX>NBE30:TO'&T$N!2[XI'0RQ7D1=HR)E0;AT:BN2
M<]V=*X <1 P7;<!T-/**-50Z$GFZ;NY<DKP$_,\N!8WBW2^B,!5SJ+"\VR#D
MJB.M6#.UPY.64XBP3MO^M3[<^5P>4-2OP0NG/:@:]G\X#:1BCK$D\9RK$EM"
MJ(M4MFX7!/R\W-K?W1S#MRQD< DB<KUIT+#KO:3P)5!X%&M 0(/3]D -4(@E
M039[!15=LR&;I>%;*RS-?&K,TB48>$N.=895'L:7BP;VTEB80@7:$$&(/^*5
M]A#*%XU'6!D[ZQI4)XLED&G\ ]\*X1%X%19T\UP$#?OA.7PY@]_<PR^H)F@*
M&JPD)=X2:+ OX@<(DDU/YOC0PB/7?!-XKA_6HZBUBGV:*X:YUI!#VQ:[9-,I
MKS4;;>#0>J2M2AM?'[3:KR*$+'$5/C&C3XR6*EB+Q^S*F\&?3W\+DA\34#9Y
M0SSTQ(;/_("C:6$3*T%HA8O0\Y_4*9M0:G;R6SA0<Q^(L^>$EX\*)-Y;MF.-
M;,<.$4./QQ..UOB.WCMA]\SQJ,@N#02'9V+CV<+WI&<:8?-Q1-=#"8 U,_FH
M</S4,9B46/.2/;+Q@N8 3Z(3E+8?0H9A-)CV..2U,S$CP"M$"TH ?&L.=^R
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
MO #I50K*]S6!\IU<@/19-R&Y4S.&GO)+IY^%.%NW/A,P2+03(X3$K>=-"*&
MT&0.ED"/)QHV#*OFCAGY2PDZPFY)QXULCHS,5M*-@WC<Y4D#B/+NBH!LLI!J
M(&.)88Z+MC+.T+@4M?.T/+M@^?IJ9-T_"6K.X87.5X&=&)@%18/6%X<I"4UB
MM#MF-NTJB@1C@!+=JIG@)+HQ[% X=V.7 H)=@V6T:PUCDTNOP[)J%9IR1<_Q
MIPCO])G=V@&'T1#FX3-L"+Z,!T=Q;"Z96=%;;QA3KT,V4_5+]5S];@<_U4^6
MN)%@JP\O9+!?!<(N52.=^CVD PX691\F 3H\39>NNR"(.A:5QL/["<0MD'[^
M7V3X6V3H+H) !&-B$)J3+ H7 _&B'-"XVFHY:K*M>?NT&+R,+08LK-Y]ZLD!
MUZXH28_:''$D?A!5;%\*JZ8S ]("W\8KV.B?((5QKWMC$)Z<@;?>/=Q]Q<6,
M4&]L0@X4PASZ=/^><_ =N9L\RJ;AV,' FC(,'<<;.R 8&R(!1[RD^OAG!+:B
M6Y[G(!8RH$8NP=P+$ 1IV3[<[VPZ)8$("Z/+!\_.'?"&4,<" <O<>]OWB-I-
MI=YMRJE)VB5@/!U^Z-AXO^'1(E!^CCTFM?4;W/(M+,^O7CIC[PYI_.&-\#ZI
MJ;$<_4]K-G^O?GR$>RA&*V'Y4K30-# 3@?B!K1Y$?FRJY/XBC)I_B'MQQ&@%
MZ]AS/A/2"<&*E"ELQ;C "!4H>KY$9D*J7+Q(^UB+-8SZH0A^M=3K2/NFB 5=
MSFL68*9U$.)^BJ.C+'*'T (Q$H=(:81/)OX**"[\>B:PM:[G)IP7 *AUDQ/M
M<+!%1(K24SW25U'&%QEF/N>H;JH36($ P;^P_[E;A#"TFTTYT^1>UE[F*6&
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
MJMDX=VMDATMU-:61%?1Q/+:XK<V1+2L@]9@PP9\U3!?6*VT[[L@0EJNEWME
M;8(LL7@DB,Q ?D,5'2'P2L,B<YE-I^0XY/?2O,7*H35G[1J\X;^FD;+157JI
MW<:R>,VN3MR3+A:3I&@\!]0!!RO// 0XHPL@>'<L3I54C:B <;>FR! O9/3W
M,[W=?@46PS,Y\TI>M1VC:[MG;R_6?L53UX$%PUY_^#Z3C([_OUM>.X?PG ?V
MOQEG$0E)[LN*7.I+0'81QP,QY2;0,;+S2OZ_I7VZ3E0+X#O&/A>\3BH'LTT)
M4_<<[#W=LB9^-'ES%?/*D3I8J1L6*-(I:<&^W!QG298^)^NUY1$Q+%S!I#@M
M6=U _N_'!%.[2GW^FK96*BUD"RVL0:4]<VZ+8]6DE#F(E!&G-E',H3B1')<^
M%BF80M:,HTVCI%VJO(L(X3+ &+:XWY6JESYKA>QR<E);7$EM\7A_K]G/T8:2
MN_I%[6K8;7<,.]N)WM*TJ==%/=,;;?E2L'%;R<WU<C:7" RQ./SK>R"&K# &
M->3=:,CIX#G>+=QZ$/PO;GS;*&2YQU[J'DN"A!NV6+2+E(*J5<1(YI;_G,>
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
M=6S-L<#8,1=UK]2P>$;?8$+7[A6?3FJMBRUSGQRTW4XE*)+CL'6O]+"2V#I
M8(XVJ%^:<>'8\'<66K:+%2PLWP45TMALC6@B'\4\,NU[IO;8+H:UZE*J<4_K
MR?2-4OG:0V>6/M#:W4K4]:$U#797>Z?^\)D5+/PG'E:(+R]6".P/JFYD*&\!
MY=T"MG?"=7:_%$2[AO2,4#G"["]V(^CI9Q=]K=?O:WIW54H)!WQ3UK;^%-:J
M0]K6SA+SF!O5P*3787^@F3D!C*6-6HPA=4U KJX19<XJ%+_?]3IG%_K0T-H%
MJJ?(QI+%%W0?BVJ_!45O4!=;!#>I461)C8[$)U%(6N^TNB@,>>;Y\RC79F_(
MR@1,FG&<8<5V(C;(T(=:=W"4]CDGO9S[B)==EQ.K,6+]/^-@FJ(^1M8J;5RF
M;%\'^RB;LM8=DU(\O'0GN^[.ONRE5#,Y4\ZZ#F27I1?>94F779:HRY(NNRQ5
MT65I_S&OTL?I)CY$JC=5>4=:,@VP\('/[I@;V/=,?%'1R7]][:KAG;<(X+WP
M._8X9O#=G/G<HZ("I=:;0Q_QT^MFM?U%-K^_SG-Z:[LV6&<7_\,L7V5P!YZH
M.S>W*D93L1Y.18R>ZJG8VH0[-$F[MM,JEZ(RC-]]Z#SZ;JK71MIY#VW7XJLT
M8N3V.8WM8S1F^\BF/)+"NL9NA47:R^]Y\H6%</N&^Y@_"]3 <NK?'6BX%T[H
MGKF+5&QXH]MG>';1[1A:K_)F,_5EMMX^%+?[<&WKFFVMOVL1L5/@MGXP;NO
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
M_A\J94*[T2?UWV'F['^MR?YOLO\O8H<5>(5+R D?8N>L;M,2ILZ6<!EHUJI
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
M2)\<!4+;2$LPQE%][]HFOPB1NU.T'.(JR8NM*7ITH"=%K X'63I$?/ 7F(X
M0I(S@H(,V+[GNTQ?1JXF@@= W/0MZO8AIDZC72K- %F/+ "/)_&^'PZY9TU7
M6L7GT,R8Z^NFW4IW]D1K!%>.N(\UX5GE)Y^OK;EI64&;$G[RE"VEJ\I-2LF>
MS-%ODCDHF:/?)'/L5WU'QM@#_7=T:'Y['T?JT0IOP*:7ZMAUF;<"$6:2Y^.%
M"\,UB)^8,$P8UQ8/_ @Y*E2ED".A1 M=Q7$A%'HM#,F"WUGX*[PLFQB9(3>B
MB%-NB$?="@1D*.A]M+X?@]>BB ]D#RJ3T%\C @1"C(=QT)259?$0K-KB]_Q
M>(6QP= N,+W(#C%P 7+BX&JHQSV)Z0"^=$U!2BM09W(2.J0?4);/ OW:6H$X
M).#R);D8[4@Q!8P/<*T0>?(,AOK8Q%M/X@7B87XN(XB#[9?LH+-;O")-^/#(
M&$IXRC :H$N/L'-;N+$XA )_F,>](Z+"%AXV1-&;%&C"1 PPNG[API0[3P^U
MT&TG[F7P_^$%U"<?86H'R]P*WQOL3>C'2'/B:J'5A'0$IS(L_,><"1#&Z02-
M%6&'80H_J':BH[7KHGOH)<$303S$@%OA$^-Y+H^.8_!59Q98'B;9+[!QC#SA
M2P-W8$?ZQ Q$'"8TF0@4'-?.]?P/L1W2PN&&SN[RR^X)XIF[FQ60.5U"61:+
MWR>'RD7<)X,RD1;]\3%>;WZN6V6>K!ON0SH2X2>Y,Z)3R308)1""8 0E!#:.
M3CYXD'R.9_I>B^YVD<,)=9_IK_D5A+YSV1+L99XC0$.73";\3G@O XO?7W@H
MVRCV*V('H*3X "&</N>1VD>1-&5;%4&7P]*?=-/]IVZMV>\@P=<N>>4X?G.R
M=>8%$ZRM#B^!M?%L$AVN%3L=T<U#-&SO<WS8WD4XDHXG@L"@SD,^E2&:T/.$
MNZ&$)#8GDTGW(F.)!WJ>,0C7FK+@LDV&!660 !50G!$Y'YN9DTV%#N,Y0YLH
ML))>R$EE2W09Q0RDR*<,TL!_1H<R3SV*[&$1-15;X<E+L$"+YU093SHE>SAK
M+_BE$#K+"+ 4O 3[(G%,(#4=S%%O@4<EOQD%(QW8[L($.\2=+5[XL>&U#@HZ
M=+8Y4X^Y3Y160]DV=O0!&.VK-6R6>KQA[)9O0)K'7FN3K8F2<NHZNC#_O<!5
MAK9.&'J3*/3V[MP"L53JUW)3?QG70?Z_'6HPFWKVW^@RIKR3_K!U S\%+/QG
M[?ATN:$K@VFW=.[%Y,06A.!="L* RC.),M(ID%\0>#@>-61T=1#.HXA0(@K$
MZP1GQ 7(7B#:@!PIG4OL6.*D5YWV/ BZ2LFFEYMLRDCHST@VZCOI:R0<!+T$
MU-$*[Y]"2-B.'Y"68TM)FH+K\!K]IZ[K3%&9\J%=0KH!(>G7BN=^;CSW3H=G
M#<5#3 T(A*((0,G?(M<\L+5OT1W?=N*80\43)F9V!/MJ\36X^P#Y':1_G-T#
M)9@F):Z5( :Y":)?[94J-'9"RR;*V([P$U, +>[HPRO4'CPB>20\58(&0B\A
M7N.(6+AD02=:+'@O'%GI.^B0 <[=BSZ;+6SS/YB11=:*S83)HO\PEV#GT#)K
M/CHBA=0Q>QGN@)M/KK?9XNSWN5+)<9B;' >GO*7-]:5IO;S;OWA[<DLY.%OY
MR@DO=TC5Z3/1N4O!(W_S'YT',&-<@L@+.0[<-7_H)V&EO)6%SP#L;,$(CLV3
MI^46$I6X[L5?@/<%8 G[KQN>&&F@BX&%VG"^)C\XL@+]R..^0@^$J$42,YGD
M&6XO$5FUR4]+#&.TA.V&3D;.Y)R1?FI_N?UG^RT(<0"MA%F3(BUTAI5#,2^O
M\(CBQC;<VOH2O>/_9=R)&OKFX<$P!.&Q6>!2$4!3W^;&+UQXA#MV/_P X0+P
M\"B<$FNG2"J0=WE%"?$S<LNNF&&*Q-0@@A$3-FC$4MG5]@],;O#0JJ0?35[Z
M$OGGN3MH!18/20]$:2L #Q +9BGA/9/[Z<-J!3*H;9%I*K)#:8-8<Y!(1H5S
MY0=DZP'C0#'D;'NS%\P2$I1/(I=!,-LSEO".+\2-VN2U/Y3,*Z[%5&8F>0ZO
M0J/E==>EM7U.+BN@:LQ(=M?DEN?^N_#B&-5DQ1509]-_LAUM3GYRBH+A7272
M^\+;@R:\3>'M01/>KDJ+IE6NEQ='U_+%T=5=<?0\MDNE!G',YJ1"1+C$^([[
MPEW^+I>1(A^\-07];&-X8.8LIY@[*N+!H;;4$^5E3X'9*FK;@IH!RE)U25WP
M^.22^0O'$"(QOIY0I21;DU>N3FM[\QC'9BZ*\)6E"SF-(0H>64\YD%3\0"T1
M@(:59WYP$*K)0"<G2G=]MI"/.]JF3XF2#'Q>J['G$*UB6 &-"\*7.[UH]_PP
M.?;>2NZ=+QX$GT #ZO8C][:) I<#^$"E>L19@B [F(04I)K#54R<Q0LM3L=Z
M(J<@[CGNQ$5C)W$7XOY ;G,)RTY[>_;+4>9@UW=7-]BM;7S%&A AN+QO% 3
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
MXPZ*8^R,0#E>CH52[]V5*E@W?PS&_N%)XLJHT^^O<@$M<'PG'$G]CI9OM89
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
M3$X+AR=\1MT&!D+K&Z9+KW&_!NN$V:A@!EK41P6V0B>@Q.I]NXU#0'H&"^>
M?=PM<A7F2+V+;0-I^M; RCH<H.>;3RPX2C;[N _V<6>[Z"RZ$N\_S48G[;,?
M9X#'V9ZK'1T'Q?6!(PWJ=:3A?@RU@+"YVD*G #\@O\Z!L;UB,WRA]7+QD_G:
MD]O0N+=>9&G'J>,BJ!7R?E0H@C<9;PTWCV $8BI+[Q$_(+RVI65,3'[4X287
M"@P7C N O]'2=[\UDGKB)7A/":9B ED@]07W#S0E80=<S+^@;$+#!(B)&Y%P
MNX+[E.DMT/5J@YD!&^07G1DH:?@EUI1X;#\$LCCT*A!B0EN['^*XBC^T45NX
MEV=&6 ZR^]I_#JE6ZOG&[<F@LSV'X=QBKLPS:MCEJ;,=:@]=-]GEWEF<HENU
M#V69WV1T\VRHP 07"N60S3TJPP&ZQ^96.Q)M1PIKN22^3QG6+M-%>D2Y21EQ
M1(#KRO%TZ^^NLUYYGVD<%QR.VIH*'[8X,4A0?N(''ZQ(N@_Q?GP/V(X/P\>A
M$HN0Y>W UK@Z;'$T1>7%ID"3S?R@5BBT\$]5+%3W5H*GK1+*-B<T>Q51:DH^
MS3#EGNK<!4.5#33-77MRXH&P>0N&JIL$6^H&:H6T<O%U7,%0%>!J4)415>K9
MP55% J;008.-NI9R"U_V+[RC^N6(H0[G*>=I3E7IJ>I6V/!W:B-B2V"%DP<D
M,EUY,X_+3V&-!3;WS@3KQV:"T4VRR0S.FQE<: PD4N1OCN=]M1]TO"3R4@,B
MQDRIP)K2GAQN--1@,SLV!^?$IMJ>:(>;F;V2I.Y"OJ]D7F!8]E<@.7#?&G&7
MRU@;5NL@TSK"(291':-4:M9@FO?K!-'G.<V]X XD+-^57.:O7=L+ JY_=!XZ
MK;FH\OWWVC4]P^3<BQ[;)]TUG;4'V\0TK_C77D?Z%V9:S!EFQ8DN6%XRQHQY
M9HYD.?8C9FFOI_]F,Q_#*?A.*7@GOH:6;\4VR7[H2]/F'CMI^D*?Z6M_X;AA
M&S#>/$KB^462VE6&90712NM3)(JG0_K^XO@[*+M73NXK33_9A&L<^11R\X1L
M1C<B!K(J\B,V+L/&97C(I3&HI<N09U@V/L.38*UDA#5.P\O!52V]AE4IA4I
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
M*I*+/RH0BDJXQD5"Q>P_:]-E1N:P4Q][FRO:X7RI@T HJ5BB!E1P= ?"\@A
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
MSS8.M3&?&(%&^@F_QA74[GO^U.=[^J?R_BVP(BR%ZF>VD-AR93DO#/=LPL<
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
M6!%G/O9RQD1NZ$UT&6F(<6 _PN<J4_ 9QRP![4?P07?-K84RR<(=A8W/2#Z
ME=;$6YG!Z+]?IZG!O9BX>U4L9'H-*(!*UT@ZX$253Y"$/;40#$M'<,93(6Z"
M5(Z) /#[\:"=1P6N! V46L3"F1=\>,57,>D?/]]:\&,,++7)"^EQ$]%71ZMS
MV<M8;MMS8A1\^@O1S0E=SZZAVDH>JJ6AVDH>JDTR5%O9*E1;3B]4B]*65YQA
M!MU@!W'HL1>;EC. WPP,:V*A">'"19F ]!VP<Q">8:>#R^VP.S&;J[D_ Z^B
M"X[[4#2#5\7'*#& Q)C96FBS:EY@ 6[VB[>POM[/WH"> -,%/^DGD?!?TS3[
MP8XF/-'ZGP<WX' RYAFO>V#%5;WIOQ4#S'UT16CQDF>5"=3B*?A6&;.=YNH=
M-"PGA0<@C, . T<=H\ 65T?4M0(S#:V.F&I>V_6'N"GU&_6-3'-":X7Q4;P&
M0#,*7\RIKF(PHHU-?!35#.A:GEVF=A=35 H6$$3+;+!T4:5%#//[+M(]C:>H
M3ECJ7Y;.9T2QSDU=#1^PC#84>F4MX%JCL:(66KK0TK57#?X][]JVLL@:\X)I
M\XP:.BL>+,ATX<?,Y=;C>;5:$R98UZCS8"'A#_004HBG9:$U8,AYI9726"0'
M%$$C(0+&XV@)K%^&IO01>_CH5\LTGH=33*TKSBB.@+QS>B?&*'>T:J<'4-)H
M?S_/4T^.6T(UC'/> CCNVD\:\%C,NRQ<@(%-UUA$U@ODBK;@.V$MOHL:E2ZG
MV05*8D'&VH"9A'EFHD0;\*$V8:;"KLPD[,),Z'RYV8 H%RT!8.ET^&DMQ#^Q
MN%Z0J-W GLM]@;@>A7DDQN05:L>$^AP\OCPDEA6JUK,<-PQ+)35Y"QP/$J[
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
M=ZA!Z?AEA\,I'I;$8"8**F+$.IY>?0IQE^F?HXHT=8ONW-6 ]+@6\Z04>CP
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
M>KTKY?("8/CR&,1UZT71]-;8;[0H!LZR\E.LE]6BN+#S-1/9"WMA,$_@:*,
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
M348E6Q14JJ[9&3M/ &)\DL](G='8;)\XKSAI,W1F#[Y_&L&+;&Q'>J49<$&
M;M.V))I-WY3@2_I/6VCC;$0P'N:ZQ#3.?XL+L08;G\IUMN>/)2&<3LU9)W'6
M2=YN6,$Z\MY99Q7G_ ;&K2%\*0&E:BJ\QRKMEW?D='@G9YV46:><DLE=$^&+
M>@-,;DG<6=,\86Y;8_Y<, '8-@U[JM.02(2/6M/GJ0U;I*9W;:7FN=4&(X7H
MPGT)'$$@\3UR#^K^!+B';YCY&K6<=5)GG4I*6D>4Y$I9KJ'6$<O51JU.M4X"
M;-3BGBW2.Q80,CZ99QS?;16I%!97\DY[9&DV 'H$-WTO";]INF[.,LQ %ZU5
M"HAY[+*8<U'J7%3=M^U6WI&+_!Z02ZRXS5V?WDAY-81V2;@A]D]EO\9;><_&
M6R$[K,,6M*+(TTN/;#<0OI+7L= ZEDI>QQ)'4EG-FNTW9Q8][AC*HB6C;&K)
M*!N,YHJ1&"\-\I8K(9?GQH0U1[3#=YS_;LT$)BEE3R?TG*DU+@J/TV>0H_^A
MC $L7F8"9'F)6V[/M,;WBV+\1/U0RIIYM4!!N)N66,,M^:,02K?0;)SB>)7.
M+J9V#KW+^+&&GF@",4]J0M-T(@"D;1$L*%VL_,MLI\5=$'S( *B72=C>&JBX
MR&8%NPD@.)[Y*IBVEL1DL-PCV%Q>""%[ 2?[V>'*.T0SW3[W$RMY=CQE5ZF>
M4JRN#I\KM<J%2H9213F';\7&7]:SM6O4#NED%2<L:6&3!$LLKM<'%F@9!GD3
M6HO2IU<XWTIC"YJKX<?Z?+>J3:JTB@O8XU8!\'.'2*KGP834.:21IGV'E5'5
MILS91"S+Y;]L)&\+B9OQRIHDO[!=#=#Z@4G6/2+""YYX]Y2<5!,GU69*E29
MI5*E$3:$>FP,#^9/%N0;O7:X,K/.R_/AJB!5%SVR+@7L&9Z[?R@)O:FN:R^<
MGH\C;1_9?RZLTR]X$=.4UE7JC5>324!VQA/=G%$YNH"!/.^VZA[(6U7J8JIJ
M(C;.'\!P9 :LX0B'\>=9%*.:%[HL7Y8'_F9)6D#Q0*N^S$:!N\2*Z!JVA@=3
MGOB,U@<\^SIC)[6<M9H+'232?EQ22EY89[_MDP.XEKUB9*QCX#;:8^]6^-$3
M;FX>&"IS=DJMW%Q*$;=E*7IX@E?JMD<:&0J127+"P]3"=B8TV,2&,)?!%Z_@
M*3]N[7?>!B.<PRRT!DXI)X_4R6-!66$RY"$O((\GBRCVU"(6+ZU 8O$/*29/
M+-G+Q1X3D<AIRA!YH0RAIMN&<J0?2QJ4RJ2&\*/4*[71DJ0=9.">JDC3,WRV
M?>BI[D5-L>8^LJ=8?<4@]OG]FTYF],'PBRR*<DY[Z=%>B@)*7BB@$-V[":D,
M4N+Z!2";E7Y4\](/6OI1S4L_-JDFRD8!R/H&VYY*0$[5UFPNR.SM7J(8&F[5
MUI57["3LQ0IR[R&]\*94ZM[U8N)AN^#U'U\>;S#PX]"BTRMS,*4A29K^D3Y3
M]:>YOZKNKZI)O#:M1+&P#QA>V$7E@/T"@4JN%$=AY]_[9*!,;7B,8POT;8[R
MS-K*8GA<57D<T'N&KAF$7>B^+R\"2)FL>NUO"9-5$(U/RIMIF.,9F&8." YZ
MY&8P(F/%([<<O^GBM]VZV2]^VXH^F+*VHL*-9OSL*S;)L;TG;%]UKO>+;;=$
M($?V_I%]T_JR7V3?*'VBYWC>-YX?'CO[Q?.#13"!E,OP Z"[DC"JV^8+QLXP
MAA!OHP?-_0&]&",AV-?>NQCK(FC:/K?^LT-K[ GLW[]=TYJ*$;$(0G0/:_5&
M;,LXWZ%KJ+2?FRT !0+U4$]Q %2*1($#0KSQ8*8UH^/!\$LZ@)=='+.Z4 @U
MH5Z$[O\"$S_<SH/B7%!HD[!L+0_+TK!L+0_+)DFA:S24KB<_5R"D:2BEJ63
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
M*5A^#FC!( ,A.%;GD3J@9>5<JGQ0O(FAP4DZI>R2=R4G[VR0=^Q9@:3(6UY
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
MU]I+*@W\CH6NLBW=3BUWD)-C-L3<J242YAP"[6US=^"4J2K;0N[4,@HY,69
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
MH/>L+/\?*D9;3BN<GC)G;@:75:SCL9I,J525O+Z)O.4+ZN&QE\KW0!0(IY'
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
M"\<.ZEZ'U-3Q"X;B D<?L;B\%)"/($Q@UQE=[5!JF_?-%)$@ZR)\G<09O;3
M=!9J@!,23UU418],W]FJ>?K.:M.WT081&J^R;+NCC Z8=ASD3EC@HBIZ9'I>
M*IW,'66TP&Q[OSNJZ)'I>3D$E-MQ=^9Q$B#SP$ECYFN?8!S0(0[=60K3 M.U
MJJK:6W^]"A(B[=#.I%#*'* QBL_8+V=8T.$RS$.K;MQA0@A[6U:%N4$P!F2A
M4F8,0JK4)MVSB_-7(W[ZE*^.^^+*A+5UU $VZ)C? %",1'=7025:O4&KUH>X
M- 2$S&/U_VY4RM -I"XO12FXZ;?1'*#@$11>]<2*Q@$<?8?"!LPFJW_\X$/6
MFZ/@<D1Q"*D/&99\X3J?9CZEUM_;HJWPZYOX:<0   J/8/KW-*JV''<IM\"N
M=8BKQ^66,40W\"%^&[*WQ7V].'^XIMKK.L<6*$V-^Y),0(2^I8>-,/\:O$O:
MF= 91U4X!R1;35ZNCHD[$,3ZNWN*-D5L6MJ>(AXZ-.$^89K-/77K,>IZ98,/
MLQB^[Y'%^V4AI#_8;0SBEU.6D_C)")Z6JN4)E-,ZT8]:UAF*A"KT+_?!GT@M
MDPD]"$-\SP>K 2;<_(J+_FA^X]]JU]YYW[ZI(MJV5;S\];ON\W2TGSZ-?GH/
MC*]YI[LZ.4/<G<L\-WH&)R <0$C==<-L%=!9?7/^(8SC-/F35L%W]BY['72U
MH&YV]I<I_ZUZTYIJF0SU(Q7DSF#WZ H9]DB;?/K0M1:V!GA]3;P%S#T8Q=F&
MZVET \FLK&N._,?ZU$I<VLEMP0%W>-PHPS1,>BY@G$_U3Z,!8C_(C Y!^"B#
MXA.Y6P;,)BN67^:5.[69\_J8BS%/I' M<JU#F>=<AOHZ/,[+6/6V1'R#\$<W
MV^_KD@;(AOZI__BB:V-%'5+C8IKT32#7M-,A-% G9W'' 3)ATQH3S17QKE%E
MA&G@2Y//'=)J >K7%>3[XUUC30M1YXG)ESJ[II(.H:$-REG<:7XF;-J6=PCF
M* :A.%L4!0<S3&+^^_(.\ICTU7W."9EC6AV]_YKY0%/(-1&CRBOI7&NJ9ISZ
M/85\W3>+H[F&7 N?S9BS/6+T*).D)W*K[>!KF_9M1 H"5O7'A3GL9AMA&YVT
MVMOZ7&O5MHCU[=MX3Y5KZEK!-5LK_05/KBE;C]4TJYH22*<X#,[0#,678QYU
M!ODYJ$*U\2-3X(OX# AEL%G7.\1L"  3>!D=1%$"0GZ<RN6%\\?4LD%E'DPF
M!$Y82^3EB1'3)/GXP0^3@ &X@/>'(4 S.B!X=L*31F)5_Y*<)Q'RT1SD'TO\
MVU3X4]>$=K^#%;?L'_[B(N''UAG_X)XFTHB,HAA.(/FQ/E8=0OWA*_5U1JY9
M)R-,4W0@:RS<#_$QJ<0#!OSS)VLY3>LNQQ6A&+?QTVFIV(S,%M&=N+U!CTO7
M;P[F!(4W]^S!XICO!=W@<[!(_Q^@.T>TLL)HY"N9)#0NB;CT8\P[8.2(CA8(
MM1P6\O(*N<%#.(]%GH) Y]2LA6HP&OD) ">4JH"Q@"W6P)W"7D1DH<!M!,9C
M<0H?!D[IH0!F.&&$R1RS@EWAH@K'@#P+3./GJMS +@/2+Y!E:5VQO3(>XXPQ
M2\T]7[?P%Q&9^G">_!Z[!7^)Q[BE#>Y00-D4WPGL532Z(3K?Z!6+;&X@5R R
M'<P*D;A7!;E2\PI 6H/#7&%,8G<&71F/J<4/X(@D;+Y?])K. ?&G_'QPO'!"
M(SN,1BVS\  WU"F#,?2+ZMEY5^"K0!FKOWH]@QN*:%!I>[IT+X.3:O2;JN%(
ML]*@TJJQ7/R[(G"&DIE+2R5F;,;]:J8]37=7'-%$ J1EY#V(N)EFGNX-SGZG
M)GO(X\^<4,<*HGYF5,J2K:141B=7YDR-H)HNDDW"13K.8EYIQ346AVBU ZEO
MN2(_F^"P5K$4Y9!F:F2F(5<D+G)?6AQSII%:HC2V3\:XJ)6LAIQKFG7XS*?7
M"KNQ3NBC 64\[H+F%"X<@5_"HJWZPO1"C!6%70)WFI8E2(.2>6M$#[QQ,AGB
MWPODR-J9!4"#95AN[F:[H&ZHI 9EZCX7HD007J-QR$]283^]G]8)?6K Z9:L
M\FS#*1;W*0[YF@5E%C\*W-.M!J2V?UW 28CX?CQTJ07J4.G5P'>%/31A66[P
M$?33A[GY<4.W)E!-I[C*<KCU^5LH; )J-#$E,9F_^7?0N :JZ33)<@-\N1GN
MVGZV%43]9#7/DCF?BK[ADI;U,'5C2:EJN&M0%>),K$D3I%IS7!*2F3A%IW!/
MX5JLM03C2C]PQE&U0:C5KG1;AQOJJ"#I\&NN.T]S.:&.#4+M^72^,?!A>WE&
MS F%-*",WUBHWEWLAB(:5/IPU7) 5VI#RU8&/3BBFCU2O;IBQC'$23QU0RD)
MC['-\=W_4S;1B&(VKO%C4+VM[IX;BIB@Z>E0Y')D%] (S?K;!$ZHH@%E:FG5
MR\Q=U,-FH_P&QR#4?%'##9WJ =9=OI!?XW8%%AP /Q*:!I9G8MP88AM!K5/Y
M@OUT1ZL"&IW7(]+- /GBTL*5!I2Q/RVSH!A-W%E9U.,R,9+>(BEU/]<XLH*I
MT[,88NU4'+X!F'X)YC8: T0$VU<<'_(=,6\&8(;;'R&-3R.^#>/,&*N$I+V\
ML9AXQSW\.TWP[[J'?[<)?C?F 4I(9OSG8.&,UZ]"9'!&>')Q-#G-X4X74( R
M3BS+WR.N==.<^3#+VL!KG9SR16'N7')C!&<ZN(O]A/_+/U3,IK3QPL5/8%J!
MS*E[U6%*IA]\%R/L_P%02P,$%     @ 28A36D-T$<#6$0  1.$  !0   !R
M9W(M,C R-#$R,S%?8V%L+GAM;.U=;7/:N!;^OK^"F_OEWNFDA"1--IUV=R@)
M*=V\%?+2[,Z='<<608VQB&P3R*^_DFR##98MVQ*";K_LIF#T'#V/='0D'4L?
M?I\,[=H88!<BY^-6X^W.5@TX)K*@\_AQZZ:WW>RU.IVMWW^KU7[Y\*_M[=HI
M<  V/&#5'J:U%AJ.>B:L76/#<?L(#VO_\8;_K6W7!IXW>E^OO[R\O#7),ZX)
M,7"1CTW@T@]JV]NDP*C(%@:TP/>U.U)J&SS4&D>UG;WWC=WW[W9J-]>MVN[.
M[KO@)[]\L*'S]&"XH$;L=MR/6S&DR0.VWR+\6-_=V=FK1P]N!4^^G] /$L^_
M[+&G&T='1W7V[>Q1%Z8]2(IMU+^=G_7, 1@:V]!Q/<,Q*8 +W[OLPS-D&AYC
M,M>N&O<)^J_MZ+%M^M%V8W=[K_%VXEI; 6^UV@>,;- %_1JS_+TW'8&/6RX<
MCFQJ$/ML@$'_XQ9^Q*2,W?W&;E#"O\D'?^._6\AQD0TMROPGPZ85Z0T \+9J
MM.";;B=1!>P_ DR5J]-OZ]P?UYEYLNWKD 8Y!#V/_#T$3G$3%W]/K)1L8<MP
M!VT;O10V;?9#RIP$HVC;M'P;H#[IDQ8IR01P;#S8P+VF_Q6R+Z^,NJPV. ?J
M.&,B#,*PG)U+/U=@XA5&(X"]Z15I[J3?6R?//AS1YE3&X)S"I#>&2V\ <--U
M@5>*WZ6?*^#W<D3'%3+LG 'B]LZ@\0!MZ!%%V[[G8W .'3CTA^S+*V-*N2I7
ME;(P"JK,NE?3-)%/4 @:Q2&-@7R"?6"=3$; <2MT7,&26<6DUJL-+$(R:=H6
M\[F!^[TV)J35CR$--,I42;!0^;4YZ?>!Z<'Q'+)+\(E71(Y)V@X;[\M42+Q<
M!4WO&/0!QL BJ$&_)KS&.D.9^@@5J: J1I(RU"?.ZL(?TFZ.2%QJ'0,'#:%#
M_T5"5/+E)\.%)OT"VCX9@D\,[!!_X%X!W!L8&)2INQH;HF' -&S3MUG)9X28
MD!YJ0JD@+4$YF'C L0 -+'^ATGRPD9EXP*8A+<+1KVSC =@?MWQW^]$P1G]'
M(^_T8EYPH!LUS"66L=BV;[@/+, -?U>GBM:![;G1)TQCIF]JT5&W+F_@*4:N
MJ\K$H/!0KZ1B39PTU\!F9 7Y<TG$Y%0@?*+N^L,A*VT;DA@V^GT?HV&V%![B
M,X$P<:ADRK=5>P'P<>#1/^<U*,GR6:=]V04NP&.@BNLXQ,R=K#OG"5Y"YG?G
MS&\W$E4I2?ZM8?O,XA!)67-?!JK_M@DJI! 4:K&7HD4I,8*AK^63D="1[1&3
M95<PDLXZFPZ;?-*9Q]BP:9S;]%H&QE,R#E&>9/=?,<R8G]?1DE+5BS<E0>8X
MOK6,5KT!"1BN 1[25NQZ;$8B69I4"-VN-5>*=&*6?6L5UQI-H>9K(,3%*.K<
M65")OKZ6:F0SM>QE&YJCI=P*)0>5L +[$CKT%08C T:3<.),8JLK:IJ6".+:
M=W<AVD*9WLGI_8E5NF9LE4[^9"<3JL)(SRU7Q70H!TQW$Q.1,]GBLKGC3:!*
M#S7^D%("K&,PPL ,EA+(WS9@-#E6<TA&//C*/N<:)W]8DF.6YLBNJ/CRY.#.
M]LI/+Y3,*_3.X9(52RB1ZN)3>MU:6I_=[OC1:JG6$2W!SE:4 [OD#U<90&O:
MBK*HX46GI32(A247R#&5!'3I&&O*/(<03D1=CO38/H.:$#H%H,HB47)GKCG;
MF5->CR+(VKTJGXVTF:<0F3(7O5O(\;!A>G?0&[1\UR-^!4>84S7R"4%J]0-B
MFHE1)VETI!N&9!BV?-/+EB=UJY'W2[W+%]DT9]98ZF@7910,1S:: O ).* /
ME:U_9X/IGE\*NZM,QKCC8BE][A!^ MBEB9K <<,M9*4N2@1Q,Y02XD[NBE//
M0^;3 -FD3)?.%+RI[*7^98 J^TAH.$0.*U/)EM%B\5I'-KXVR9%MD9+<"6M!
MCVM9D%IJV%<&)-.9EC&"GF''<&5[W7Q O6.AF# BO'$#CC)"=8%G0&>>VY-8
M4>I#$\KVO * FR"4"&]28YAK# S7QU-F7M >5'@S+LPFB,+G:#E>J93,$AN:
MFS354_%XF NG>=E:E(ZX5@7FO:46N%(SJ*?J%KMR\=9IH4)8)0$:.<-1T;EO
M--6(![("$]_4GZW+VD(NS?R*<\>.RHL*;&IGV+R>(+2\L%S&VBPT"'$NP EO
MAEMV!@*#W!^:EH4<VJ. 8T+IR8]92!LX2&02QY_4;E@MTYX**W>P[%4_U!<R
M[7^3E'Z_] )CG+!8!G[)F(GE(Y".UY<^I8B77#)<Z((Q<'SIW7%6K/9VF<)^
M<CH3U5_R0D +N=YE_Q0AB_4'@,?0!&Z/-';IGH\+I#4<R"$^BQ_)&?BS6"YZ
MLTY5"#PKO_1DMP=L>UZ0[-7%9.%Z(Q>N*(D!8H$.F?N#P5$)-MV0M(;0@:Y'
M[1D#-=SGH6GMJD):Y/(E-[>;Y27,# N&Z!!*?L),#ICN#1$A??((RWB5II)3
M#9#.Y.>KIB&LB<]:KG.BI\1'OLREG36N1$J;XP_+91H0F7.BU-8JN1GQ<<HW
M_BZ:&K8W#8J+ \@.H[DXNEU2KGJ)()M/E\25S_F+1@%0Q_$ )I](UH0+H]<W
M%1*$3Y7DE%<V**VJI^> ;527R2..LTQ:KM\$XD?!@CIWEH6D>9&N8/?)8$SR
MCMM\E&X3@X.50)\ A>,S<MQ/H(_P_)@2X)Y,2&A.S(".@:<=4F66V4MS^A";
M3BESC.HLU?P"NW()4B.O>("V=F'DBDG)=X5+0U:IH!1XRN8SR;*U+XRF5C7I
MY10J+'FU=69#V"K"O$TE'FX995.T3.$G<TZG;,=E?B C;ZNE9.>E!;,CQT@Q
MGZ8W+MW<F?G3)CW/B^U0R>_9HL#EI\O_*,]44,?$2)$D2N($4^1-4\G*"$%J
MC0.JB25&J=R597:$VR>#F,E/N9%P:$LJB.Y93B6Q>,3Q4W8JO2;+IL"JA_0<
M,.UK!A5[5S:34E_R)$Z79J&"8Q#\O^.(O/HG/T(K8X3FI;M*(I?EG9=%)$?[
MS%<(E8N>C;[13K@PU9R$J@HSK07\*(^S"]A; *OLW!G0/U:7SN(X%/BP2D>F
MN:'+J(O9HDD]4Q-F!0K9S#%5E*%0C5_5C:G4D\?67$(OOXJ!E(.\X1/&0B2'
M\AY53?J?F,"EB6^7#RZII6L"QP2S,^U2C^A-?PM J)P-%:@ 4=$L?T=.;L*I
M 1VZ?'#I] P;7"8OA%!UEI<@Z(:*693:2-&&'$7Y4?+\2,R5S45BD!N\=B-&
M::3CT@JS'!5C=\LHER^.]6.%EPD6(\5D90JF14WLL-!H>2+UT%#E:@H949_=
MK/;7W?GMP?_^^F:._,F]\^[(>CT</]Y/G9MC_^7T$!\=_K'[_>9ZZMJ'8_-U
MQ_[BU;T>^/)ZN/<T:9AGWLZ?[?9N[X_Z>/*I=;\SMGK8 'M?#_;?=+XZPX?=
MF][D^>K^M'_;V?6.\9EU\_)R>G%X_HR_6H/3-[W6W?W-X.#SZ,WMKP_->O/$
M.=DS+YZFZ/1@_\P^/'AL'3^V]O]LW!TV&B>WGY]W^N#S'VZG<?KB[S>_'W7W
M[P]>C]OW7T'C^^[S"?3AFW>7C5]OC\'!Y9>KOF-]'A\,!HU^YQ4;PX-NO7=S
M=;YK6G].]L%5XW3_YL]F_=E\/7OZ<M#;/[S;0=^>GH_WZN#XJ]T^;#6N;V^?
MCF[ZWQHG>[Y]/]U[]ZGQ;+P^C=\,3][T[KNC"]^W#IO=*]=M[+Y\^U^MU>O2
MR^)^G,XCUIJC7B4K+X13BR"S2\-F5QIPZ=&:%&X"8+&-9QHFG!N>C^GKBO1=
M.-NF%_,@Q[WLJSMTO8P%ZSB69[2'A7,PBQ,N]X3=11-8:$@GUW ,E P) H!K
M.<J7E#2-3YFI,[/[V%#3)&$\!JLZ [D \'JN_(H*6H!@WLL>4H15Z'6SH-9U
MXEM6OC1?NAP=2(P-VM Q'%-#;) &7#XV"'F\[!]#BN)8JEIA'&$M1X(,0=-:
M7H*QY<&[RO)*!-%&N M&/C8')#2^[*L[]DP \$>0+(M/N:]C18CA#M,UNC8F
M=$>1'L] S"6&K"1OIK09ZQA\%Q2[./6RKT>CE5BX/*M+QB@,S3!IDT09R0]B
M3UX!#)&U.#\^F9BV;['W"$DC=AX!O48UN%Q5<M-9L?&ZMS'U:+60:2F\D,*=
M*_XD4"R@S#G\\B>!>7XWZU!*J8GN"_=\SS=#HGN;X^(DCA>J<EG!6MV!5[4*
M[ WZ554B :;;JXO(F7VQ7Y([R;=@V39ZH5=5DYCD&/D/7M^WERU0)%PA[(W3
ML1BS&2<D%<Y%24!#-\!T!65-S4HI6J+VE1U1M4K1Q0_2U8T\L0U=%8..GFO;
M2]K8IH<5$6+866.J;$V": [,TN5)O3YU@1PEM\[3FQI8JF28RM4U7LY)6(>A
M82O3(Q-S<^3)ID[F]DW:+>VR19F=I;4&W.==1I]SBV@EBL\Z[<O4'$]Y5,<A
M=,="PIPG>)%\".0,A!Z,SRP.D92YH&4@S0<V"*J00E#..J.B(":QOVG$]C=S
M0IJ2V0<_+Y.648F?ETD++7C\O$QZ?<1?S672BIQD+,E0Q4QO#>[++68PG=!X
MX R.@75%%"53<A7NCX>B?24C4Z]XH^?R)/ED'M*+D L])1E\R;(WA_L%3B2?
MN=@A';X_5Y=M0EP80P6!+@]']^@O+$0&5;SMHHI.]!RZ)K#)R &0+_W 9!Z,
MYE.31=7@T\0YJ*+B^-"ALXI'2(](8*"Q.$#AD3XE#-B8_E2&W.5S*-0OCZ??
M[@6!V_8]'X-S4HVA/V1?SM(V%0179X!0 SA7C47 Q]*O.A2&K7!/H"#$!>'P
M^@788W".'&\@VR.6-D/O16H%FT7B=L'2Q,M<Z12UXAX8^/H%:5(]0M=]/]@*
MY)X1+?4.W4+H1%Q=CFR.K_FVOE4I'7 M^5RV(A:TD8\UBLW@M<\'5R5W0#;W
M,#?U8D/I^UB%X?\Y8L/8YEC*%9 JQ6[V/8 U*YZTX1\A^P+M_ /=%&>R+IPK
M:,S.%8RN",J;(U5+#\TZSE!MKJ@(LH3\UQ"&<;V2"B60-$?!)51.RX--Y5#B
M&=#+1X,I4XJ#HWLQJ+I0/ (57""HX0A:<5RMBPP592S ;O8T1-& U086O:W2
MH%=1&][\C@KVJHA+2E4S5H6,K>8ZBARP\ETG+#CD<$75X*)I[29B@B8N-LXC
M3^9"6PC&VCCI?F?DX57IE8.I^]VTLKKE42EU 2TZ,VHU_B(/K?2U&$&Q88M?
M;5UR0+7/#P453CNU/X]/Z8D: 6RB ZQ63"%HO4NX%?04(Y;C7]1%2L';M7 \
MCY'H.[==8"+')#$<*UC%YF<Z;MHU8Y);6P'@THY=A-1F%"/0AN'3S.O$PRNI
M=3&+-(_IQ5M,O!M*D42RSQ6Q*=UM2)^V5C)%]YJ$^I;!5T%J0"AB2C#UMK[[
M:LY@*V7"#^\9EDF7O+LJ-@Q/6B20@.R<#4 (&FC0/L4(O2&9>O'3>.=?\ZPN
M5(LB26)/D%1G./&E-A51VA*D_/>A4B'*+UXM%3=[?S82C[CQ8S &-E+Q$DUA
M^+69HJ9)G#:/$2=6[EM32_CDCX5#M^.GHQ%CPDF5&]V>I/#<.LG&;6ZCJ"B*
MW#T@ >NBEURCS0O#=K/.8EE]LREJH.903&+#*2Q-UA%?,L:1\ 5I]2-&!*1U
MZZ/"N# CBI>4MEK_GWY\9@NYR@=_&2:NQX*GNH$@2QU^GIN<)L2F=:H;00"R
MJ7XYI(B;=29EWTM=.D8FE)RF%"MQ5:_J%T5?D\:7I3>G$8J1*S'#*QU;L:-8
M0OHA!$NZCI0MK>H./(:V@I6)!;3U"L_2J<CT[>RY['R4#:M:>H/EG<NA;JG.
M2*X@HC[I"A?^D*Y$(FS0=1('#:%#_]5'F'Q) B!HTB^@[7LD9#*P YU'>DPR
MBX\4''ETQZ@ 5G-,K'JDUCT 3.^(8 8P5/?2]UQZ]!(Q17+?*HI>.M;@ "TA
M, %64TD.MNY=M)(-(MX-"Y*=<RI\T7,O3 QH.&#8X3T9#+7I>1@^^!Y+"T?S
MR4;X@D438WK.N(J=- D&:1UA)+0'&9ID+@FFN>\/=6K' RF0>L;_ U!+ P04
M    " !)B%-:J8?1F%]&  #--00 %    ')G<BTR,#(T,3(S,5]D968N>&UL
M[7UI<]PXDO;W_15:[Y?WC0F/S[:G.V9VHW1YU*NK=;2G9V.C@R)1*K99I R2
M)95__0(\JD@6 21 9*'H4<3.MBT+R.23.#(3>?SUOY[FT=Z"T#1,XK^]>//G
MUR_V2.PG01C?_^W%[?7+R?7!R<F+__K/O;U_^^N_OWRY]XG$A'H9"?;NEGL'
MR?SAV@_W;J@7I].$SO?^7S;__WLO]V99]O#3JU>/CX]_]MGOI'Y(29KDU"<I
M_\'>RY=LPGK* TKXA#_M?6:S'I.[O3<_[KU^]].;MS_]\'KO]N9@[^WKMS^4
M0_[MKU$8?[GS4K+'^([3O[UH4'JZH]&?$WK_ZNWKU^]>U;_XHOS-GY[X#UJ_
M__BN^.TW/_[XXZOB7U>_FH9]O\BF??/J'V>GU_Z,S+V789QF7NQS FGX4UK\
M\#3QO:Q 4LG7GO W^-]>UK_VDO_HY9NW+]^]^?-3&JQ89+\39"LRS0E^>%7^
MXPN.U][>7VD2D2LRW2L^\:=L^4#^]B(-YP\1Y[SXV8R2:3E56L^5$O_/]\GB
M%?$#-N?;]_P/+_D?.!/_<1('X2(,<B]*+^)H^6*/T[B].FGSTYR#_\*K[K!7
MQ2+08I+>TX*--V]+//Z#_>!W^OM!$J=)% 9\'>U[$1?+]8R0;),S#C?-[PGE
MZ[!D2S@8G[_?+SU*XFQ&LM!GJ QBMSL7#O<G['"8D^N,_7G.J&ESW!W/N+3
MX?6,??LLB0)VD!U]S<-L><.F>)O0=R &)<-+%%%9-%D$\-FL?4!3B@=>.CN.
MDD=M\:\&OM(\G42HYO.Y1Y?)]#J\C\,I^^0XF_A^DL<9N\$N&5D_)$!(85,5
M>%K@_(HL2)RS&?R$D>.7AA<'#*J,>GZ6/H;9["!/,[97*(Q]G?EL?0.[]P-.
MD80+[RXBZ3GPQ.T;9^^X.HD9$EE"H8)O_KZUW7))DP="L^4E.Z"9FA#P3?H
M/C'%HRWMFPMV0-!)FI(,AE'S]ZUA=$J8@A-H<-$:8.?F*)9BM<W32V_)UR,#
MG/V$YB0X>GH@<0I<1\"I;&V^:MY#KE*1.(#QN#'(GC##F"13ILL'(6R-MP;8
M$>81^\UD2<@^,U*F8<9W#PR6WH$VM]K% [>:V#U2ZC_0@U(TUM8:*F>\\9[
M1^7Z]ZVMG"./QNSKTDM""[4&)K'N('N*6I;X7Z[( [-69QYT[V\,LJAVS?G!
M49B5\ 6].<K.#ENMQ6MRS^^CDYB;_049V(*6C+?#X2^Y1S-"H^452?,H2Y-I
M19-IH;>QE[/3A@0@7F$SV>'ZBD1</6:Z.]/DN3>%*6V<#E#U$PRV:@)RJ3&)
MG8;>71@Q!1.X,_I'6ML>QR'3<_W0BT[B-*,Y7U,POGH'6K-*[E+R-6=3'BW
M#&T,LH;1IA6SORS^U..YZ=<91,.ML:AAO=P4)H-MFZB:U=Z.Z;%Q-#@7C[:T
M1!M&CP9;FZ/L'']">T>#-]4<UM9JPQ;28&]SE!WHFC:1!CL]PZQZ!91VD.YF
M@$YH;P<+E&]=F0MGL.GQ6*GE6INY.\J2%=91S358$@RUY"3NZ.@:? F&HNO4
M.FM-.8NM_0W2BS4XUYG/UC?T:J4:/,O&6UJM_HP$>422:5N+^59A 5NWJDEL
M\]K56TQ8[9_#GGV_(M359C3YW!B.P*)<J=%D6#&9+>-G1:^K\FBRNS$< =_5
MJ5GH0XV]?)QG.25G81S.\WGQCTSQ*(Q$HT\Q)8/PR1K:E,G&!<YLZR#O+!>!
MLF6R\D13V>?\F 2,%-N40?$NOM++V'Y=A&E]@6M^ W!2^U]S-)T2/PL7:Y)7
MC#Z_>&*?K?JU1J+Y0?!Y$3;-(9D22OFM^52>2 S7[LVO^3V@*1$^Q6M#EDS9
M8C_/YWRQ)Y3Q<$CB9![&_&],@V3_N.^E_#$\. RCG&EBO3JZYK?C\&#] EMK
M_$%!AJFF898>)/-Y$A<F@9DF!IH4X8#L6 @-#VC;5#"]W)3S(JSFE?%@ZVL
M$]HSW!NK(HDB1N;1HP'[#SND@]Q?V1;<,B)T8;35-":V;0QTB54:@*'J*I[*
MUE9I^L0.2>:%4=K ,;R?9<GT-B6KT[IZ=^GJ=-K^MR&T]+=4;YRGOZSB/-D?
MUG&>!\L[0MFOY)0OE3#]<N;%WGT1N#?A>@4/!+Y?'H:I'R5IWO=RNT&DM)YU
MY[6T,D$17I4T+,:,U3-:NI\T7C5TOL5@6DL?U//8H<.X9#A^.)<.H\I)+/D3
MUW:S#G<]PQ /5M-#TN+EVXV%TN%,--8:8HW@*"W$>L;90ZPO3$J'.]EX.VN_
M\::APUC/,&OZ=^?I0.MZ$8RUYP7O1 GI,"<<;/$%3ORFH76RJ:>QQ[,H&$?O
M*I;/83.F?_,90V\12":PMH4ZD3%Z&EK_V!5O'O5U-.>>C*TZX8JG:OU0L!V$
M;)EQ']O+@$R]/,I>[%5D-G1C/D<89Z_8D%?5[[S:'%X=CLB\)G,OC(U9+4>O
MER8&LS,V!?7S._)R15B/W[X)&GL?!> "F)=S,F=&CR:ZK:&H2]:+(CW>^( 5
M1VR=AJ7-P!20+Q4'_-<T,P);WT.>,J9:D>!%O:08H2CQ6[\3\83+A-8#(^^.
M1&RD'_P^B:+&[&<5^DI#N#_A43AA90&!.>,'VL_)+)X<)"GA1V?R,^WCK?<D
M% Q<K]^6)":TS1 37$VCDJ'N JQ&3VDR5V.<)?*O36A Z-]>O&6_7RS%G[BM
M3X*_O<B88KVR+%^U5]9ZIZI7G$ZFIV3=:8DW3U_>>][#[ZO\1JZ/G[ _II*E
M-_72NP+]:G2U_J(LK7^R7H@2 J\LL%NYYG!8;3GIK2_5X@!K+E"U+/@2%4%0
M+<_7Z^7)-!VV,HZBXK?8:5OJDM+E:RZ(@\A+TXMI80!,GD*TY;-!Y]5_8ITE
MO7>W5&"MU=@KK$V8*KF]>2T6C)EHFJ0.*TW)JDQZ"&">[!MJGU04HO78E$H?
M0IO;"$L:O[_>CCR0A5';"PC2X C5V\/NL76>Q(N$VX&-5TREQF4B$PFATD3:
MI@:D/AF:\I!AI-XE1GL$61B],MBZ'JHG!3'XDBUAAKZ7SB9Q4?" ^_D77L3=
M#Y/LP*-TR9;!KUZ4VU:U8#1=2@FFC &Q UPN1DK8+*'9#:%S'N"99E5*F5W]
MJX\$GNIE33#]T"AWD(D4ZCC"]</>.<D.<DI+I=NF-*2DW%C7>F*18Z6VM,WV
M21W_O/Q$D]3V#NE,CJ9YV1)!%XP*]'<RT(>A?GIR?%&%[V!AWR0Q@M.I'YI*
M$N^MGDXK4OPJ*EZ2*GIH^V"3D#N-5U,</1A50OG!KL:[HGA.;-\1K:EW7X-J
M(U&A_<&RHG1)R8,7UH']3&%KA)#@W-00BB,XJ$# 54+[:%>K0A1.GQAV6P[]
MB/_%MJ+4BON:-.*^,!0G!;%1[ XY7)68?K1M;N3SO B[."0/E/AA%1_R$)$"
MH3B8S)GQ$WXK UY$/-HW3>RPM?M7ECT)H+T!"&G:US>DI,9PMLJQJD4D\[J9
MR:A.JUJ%])6'O'T)20CMNF8NPZB6C,Q=8"*7AHISGL0^B@;23V/7I2% IA:$
MS(5@K@*BZ'X[#W7][36V8J> (;;MY.?)*OFY$1V)Z\.$4![#]:&%9"U.B3O!
M]!6GRG_YW$A_626AX4@21'+7-QH,MUINMAP3/-ZLFRG8*Z3>\#K1R)WU/4L_
MM\;6LO^@JN703N3 .]-DQ$9@RJK@JH4D<3F82.ES0K\0FC8S-) /+0C%$<@+
M!%PM-+$#PDAHZ"K"2#4!R87_5FKAFYDIO95ZEG@FBY+>&&0$0*T6F3V+GU]_
M]<G:W+& J[YWV*[J5.+OK#&U9:OW*13%%>9%H@T TJ0VYQB53M4#08V\V#@W
MC=@+RZB:29E[7^36E2UL+!L98DJ[[RJ6XE2+1F;;#XVG1 G>ZTZ_J^>1&(\:
M>ID=;F1U!$%9D"*Z],+@)#[P'L+,BQH,V+8\U 1W]@33 :T6F-@ -Q'7%<^Q
MC==5NEHO.]/0#VTK40"".R\N"&BUN.S:]#>4*6TY719KHEP>&.>;D,S.BT8,
M4"T0L?UNE@7&Z+2:^UD610^!,5@9?;C4$I 8XX:73L/N+(I2(<M$26[WU3(U
M8G54K.IE?DMYOQN=-YM0/J<!X[#ZG ;\G ;\G 8L-@.?TX"'2.,Y#?@Y#=B-
MCO2<!OR<!BQ%GRF;%[38O$%A/J[[G6+)0TAQ!$^Q(."4.V:@R,H"[9,\FR64
M-\W!$]4&I=TW]Z0XX6^GDN9)FN;X<JFHC,%)(D0(*PUX@^!%GJ6\O#&[Y+#E
MTB0U2N&TL(+D#%MR\);4\3V\%9T1W#<2D" 9Q(@>JS)*?_45$B_5LX_JV4>%
M[:-*:58'2#"EC-!%Z!.H:XJ-;8B!_6TM N&T:'J0!4>4& N0_\D4]\*[7E)+
MX3XH&/@]<^-IHE+GDVJA=030!XKE D%2:C#'TS A.'$[#98#R.&D&Z9V'++[
MFLY["_OVQJ1U!CC12$![N(Y"ZWZA;1\JIW$;>]-IT86-\&I;W"\%1U0RV(7Q
MJ@6N[,-1REE5W75L*U>K:<=@_:PQ0'L/2-+L8OHI28+F$KA.(OL> B&AW0_;
M$V.$\RY0U&U@6W-J/?"K.?.NX]Y" 53]7-\X(A'[\7U55\:V<=2>?.>CMKI@
MH%5D^T1BWFF7IZ@&<X9$ROO7A0N"(P85M9W?!BJTE-X6\_(#G9;.%4G[I2$4
MQ$;@#5/!I:S?-BCWJFX5;ELL&_/O_B-+#R9(U=PZTCZU7YJJC\+.7R.]L"AK
MLYG>)5?)THNR9=5R/HF3FKIMNT%(9P2'DP0D90DWT[*29;'CDN1)G!'*?F)9
M)D(R.[]'Q  I:[69;I2:1'TIX6T5&:7=OS^D.*%%21;J0Y-62X/ T+;$Q$9P
MH*G@ E1+,XS7VXJ 1BT;@%@L6_%K1>.8\5MFM^:,>J6))'&Z3Z8))8VFM4=/
MS(IB[(2Q1Y?%I_!D95Z#)RF,8+0;"X_37;=C4:6$5?MMQ4RUAJN"-"C+8I/*
M&'S40H0@)>,,CV&2H9E<[;G'(( .&GBEW>I$VSJ:=-]+0]\R_/TT=OUH$R!C
MNUJ;B-QA&.69]9A.$94Q[ DA0NHB;Z:[XS,)[V>,QF3!KK-[<I[S;[B8;D0M
M8NP:/=HCT"$UP<2J"M?/1;68L&-W=:GOOFFMC2>@<-S@$.Q#WHV9Q,'ZK"!^
MQ/Z#&"(O)KGK%QT,-TBQ.?L1P 43K?3Y&P;8VX2^>]$"L!D _!S_^QS_N_4<
M]7)Q\L)T25Q4Y$+,4^^EA24FC$SU?K @?E@CS;I-#25?O9\&ULFOEZXN6YHM
M_;H?)Y3LPEY:UK/6A5+9C<SU08*!); _)TNKM23I^0#+E[:[.00UZU!$(:?E
M\,T5+!4%6D@IN-U"=2C"$1 9Q681 :2,^;24VXDB$#$=I_X7L% D.&&EW3Z7
M\=,NXV<]$.'Y;07PMF(;])4O!:] ;R^)$7B"^Z%!N1DFP1]Y&925WB0"5:%P
M,MUYC%:SL/P58;LR#3-2)8=<$AHFP17QD_L24HSRL.CL[KHS$E]>ZHO.^)HK
MBXP<YI0I/"7Y@N8523,:^MP=7A0I>_1HP ZAB^EQ0J<DS'+[12@&L[/ST9;#
M 5>G6 Q1>02LU4_)[;6[1>D+&!C!K6$"J]4,#9XRVW=UW<:\CWE;AKVYPI+!
MN_O0I_IJI$2,@L85><BI/^-RW1 YQIZ1TAN#;@M #9*UL<V'/'#YZ4'O,U4Q
MQ!8'D[NT:,^(]4XCI8FR,5 *6@$([H*V )$P=*MT:EXY+-1^X*6SXRAY%&Z+
M@;NBGC_%WPR;I)[#1766MU!4:N>&=8_2(7F@Q \++8O].2(%)'$PF2<T"[]A
M*+4@DCM@W@(%!4,0IQ3%=HP0B:$Q$ADIK I9$5%=N^+HR2<I+T5R<<?.?I+Z
M)/8)SRB,V>\OF4%+Z**C\O;W= 3-,XXS30,7K->+3^Q;^$EZ$5][$;F87E*>
M!I4M+R.O?+]_:!:CM%7< D9T'$+411+BE3&[L::$4A(468;8N3\*8KOA; %?
M5'+@4(I@,!V&/U7R^-/BOR?QQ/>3/,[2*^*3<($0]@@B.1[] H:@VGEC1WKU
MB6V_AZN<UFX8IH8":X&&5FQ#O% NO25?)5PIY;U_2=!H;;:US2=E8M3BA<&L
MK.5A3^X\?9>S_SG,9@=YFC$KDJ[:/Z,+7$Y]3&:#-K* ^B!V)%PW4+\B14O5
M;>YG">E1[V(9I.J(=ETS<9-^MTT[P$8$3#(*#14*"%+AD#[2A+^)U1ISI2ES
MXY7KSI,T)1G^1@,Q,>HM!X-979?$FK;$+^U&A8OJ0M^&BB2@/"[7@!:FD*(@
MQD\*G%UV?O#'[F!_>9MR%E:E[R9^%BXP+DL-PF-2@W3P!-45,1$J6S=U,)G_
M-0\I:?F=V)F!Y<33(#PFH>K@":I:8D6HZ])[MO>FE-2XCEDY:I"Z)H;2HHE/
M2%!4B.*^WS,ORRE_G(^#@R2*B%_4B;J8(@K1@(/Q>/J,\(743+$A[,+1S_7Q
M<$%0%&  P1$INQ#XU(51+&H_Y:)QH/WT$1[31:F#)UI)E/K(Y_58J@A.I/NQ
M26%,^ZT/('6IDR&R.$[H.NJ,L8F6'00@.$))R>"K!6>W:5%-N?+PW23,(.6.
M7!YIR#8R8V@K\33&;(Q(DS%&NI:\K9 <Q2E^',9>[#NX%?L(?P>W8B^>M4RM
M!_5P#OC_N*FZ8$I6L>+JC"'^#TQS;O^@\9ME@'#7977TY$=Y4#2H8 =3?$^N
M&"Y'TRFQ'E"[9>9'\1#@2K#U"K7<I6?09^S2<AO1U3,0\WHER%Q="$DU^7SN
MT64RO0[OXW :^MP%5T85\%2&) K]QLVTF5%CMCPW*2#E#D@(&:IR4IQN&#3[
MD7T]'$C4K3-1+=168#001W7Z@?U-4?77;"1^>]P15@9@I(^-" SK.Z,B79?"
M[T9\(&T3*%73ZT@Q/]:V 9-UJJ)HBKRG$2P 5Q?;Z(9Z 5F'BJ:-_H!]VV7(
M3=*(2&54<"\3 2W3O7&:>'%ZGF3LU.-XU3$(#=P.PY1+*Z<$:Z.8\; 3UXU<
M\LW-8@@T)/\-8?/TA#O;R6=>9;ZLOQ9IO\@H#8A(W)@4:U=(2;E=_  A=OO*
MB4$#K'#[Z[OUZ._U!%%825,6AA8@+7DUO6&OX/V3XV\%+=(.GP3 \NZ\F&K@
MZN@^Z(G_M',?-"9&VA1]%$RUI<9<^*M>0<RIU2 1VT9'1 E>+NR"4^X5#51K
MV4R9YE-CK>/.Y,8*/V%?3E8QC.6L:)J]G)C3)=POK);*KH#*F57;2;SR5HE7
MW8[KECVFTDRO@YSR,DCLWW@[Q.HON*:P,3NFFP="&/]B,.7"Z7:SM81:M39-
MQ>%BYU:L;<0QV=&CBIXEJR^\SA\>RK8Q2#M02<Z\.I@_(T'. P<W9=FF:ON5
M T[89< "5-"MUPX-3)VH9&%,DND!)4$H\]$:J3MLZHMJZF//+Q+JL!0T&:D!
MAO<AN=N"C2VBXM;3!!%?N]:' "LWA?#JW-JJU@@W\<7GOE&D12.(K'C@ST)*
MVLX#I-6N0WF(UZEL2%2[RR\3-N6*5 7K%E0N8S;<!9 8+(V66\H8>!<W2,'C
MRE(KTRX5#WY&_I^:0FUH8?FLA'3,@P8+B$ID:J%6LV_)E06F[=:SI1+QAG\+
MCJF3IXY&#K+MI[QJXBT\Y8DI#2DNTIT4[RE/0LKU4YY2B)U,=PEH3M9WMZNZ
MW47>G1UIA0O)F'JJNA-B+6TQ';<-Q11B:W6G%$/E0I7IE/6V[2=J-E K"NIC
M>8C$A S*!G5!49[9O76#(+.X4]C5HJEK!H'0</12W#0[Y/:NS=+/6,7?Y<2&
M]%:K)59D #9Z0!6)8P?,VDK7Q%>%#[!\/P.Y<5Q& K0BVNW;!J(/Z9IKV\*M
M[9+KL@W\23Q-Z+R5IVEKAY4$V/G""[ES:WI%J6-A\W+(6#O/C GC@O(=<O@V
M 82BV]RU0<N@]?P  =>%JO5+[M&,T(B78<^9M))I]65)G-[&7AZ$[#2PO+M6
M-*N442]J (MN2>M2-[:NI82P]A20J-OKRG !-#<4%%PG]GAUB5XR%I<WE"F
M7EF_1^:+-4SKZ2>$EJ6D(&>\5T0SXU]".I3=[AJHL-OY21JX.MDK/&V*78A%
M4[R-2L9V#'Y^.:_(^&AOWP(J U[^3LF]%YUY&3OHTDF9 %G.CICI"J/I,OQ#
M(<YV^"((0"<+OW%QL0_(6S7SK#R,'Q(:+CQ>=6Q-X9!D7A@A[0  05/CI \L
M_+L!2M5AO@5<R,U] 8;3@95_G=^EY&O.6#I:2/>$F97;F1W+=A>1,;;..Q.B
MV>1".FXM<8786K:V&"I'0:^=X@K[R^)/2[LK>X0E/;@C_X+>>W'5*[&$1><Y
M0S9Z)[*C%<4XE B 5JP6X$7E_=+#<S%=702K6CNIOA!T9QR+8+21PNGTN6XE
MK-HB%B(:):3&(#889NK>GP-JK#2*UN *2TUO3!(#H*=N$&I:J8W;AIU*<KC[
M#$33I9&MN=U@&"K[@AJ9AEY(BU"!LR)VH#B:2\JX,H33=1=/H2=%#225#4--
M75ZMRC";%6;:BK.U.!T(S?'L1B"&RKZA@ZK#X&X^(1F'KA@](8F! G0)M5J\
M!%=28+*[D)H+E!T<2DCG3Z-M-G]@AW51&Y4>ANE#DGK1Q?0TB>]/PT5=V@%Y
M"YJP,)Y#U QA91=0$V%_2I+@,8PBMM).>*FF^Y!G>A<,U/^$<B_"Z8Y%P]%
MTF[?S_6I7R4/8%^/ C(CNAY%0 $Z@9KF25?=1J](2NB"'*59./<R')U306Q$
MEZ$*-G4/3U.!38(%NX7#E#%:Q*OB[BD5M;&<@4K4U-TYM5,79N'#0T4/8)KW
M)RXHY]CYLPT(!5H?3;Y!V4=Q3\TA69 H*736*EL3Y92#4!S140<"$-0QTTI"
M&^YYIZ(VEO-.B9JZ:Z:)L,[)8X-/FL3LCW[SW0A7>MKDQ_16H(\ML%6FNS8&
M10TBC #A[[&;0>^DW(IC!_-*'46ME&7"@;L#<T"# R.HG<13]C0[4&RJ(>4/
MQ]ON8'/6210ECQX[08\36M:9XB&VJ/O'D GW*CZ\VX$IS@Y"+ANM#I3WT*!'
MH7%V/%C7#EQ-7Y7IW%(U1@59IQ:49B,$.):.DO>%;1%4.\/JF]QWU1UAZT^+
M.W%AV.V$X'YC- K9HUP2XVJ#L#['NKC@7P=BBF-HB !"SG57!+4Y;I;/-X;F
M"&P:[IU&7<PB*HY+[0+Z(0C0@1[*!O+8[,"P,KS/O"RGV+X.$P[<^3K,>EHH
M$56']F.Y-)2=+I!<A\\-+[KW%82%[=7GUV5E%][9K+:^&":8'2K1C+2!QURI
M>2W;.O;N$TWRAY1A%N5!54"IR.9G4EY7+"HA765H[7L1=[==STCAKYX$0?D(
M$ZU]%7B)M Z^8#Q5HYW(UW7M:23?ZJA+4!\3)A->AZ":F[<'1LO8D=)RZ"K2
MK$"MP S8YV/ F7PTG1*_K#E1L7#%=B1_YHYY?Y*R!M=V%"$#5AR[R[5$/0QS
M@-$R^'HF4\(TM8#Q4[E^8@?JL!X7XUP FDBK<YQ1KKN-2N(8=]Y8*](W=G-G
MZGTO#7T>5AA&><9EO)W#4XN+T52S-X9Y%VK=HVR8$9:\WQ1F:^[]Y4'DI5NP
MWN14'2J-L%KYVC Z,9(DE;UQ7F+^)0M\KY: A/#^LOI'_)VEQ\7W4@C<5 @[
M6QP<9X/^B]0(7R\'>4'K[>B#.CR,OH*X(?2[4R0915,<;:WDM3@O:1+D?O;9
MH]2+L^5V$@*TR3N.=(#74-8'%LL!6=%?T=U*/6P@T=&($PHBQ'>(8 U7BRV9
MMG.GOE5ZAJ73CF?B:B1G2;@J:RVG[!/)24;F:7OU]68R(Q'6UD&L\]*2T+8
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
M\;CG+C"!6S1R;(M;B  D%G'@10E'6S!PA(M;!('E",.^<TOC+!&,'-OB%B(
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
MF;9<2M::I.R53!?.O0LETT4+<24&,3((*>)":G:JILLEX;YJNK$PK"<4EA&
M?R3T($^S9$YH:NF4ZID43Z_&/)_ZT%'7L3'8$SRP^&+:(F?M;!+/[?!L$J^[
M&GL))-:+<0EI63F2% )P=B0-D %F(:T>!6^?Q/YL[M$OVS$FV^1&IUG!@034
MU+$CP9KL=FS++KG=,S![%[1<=ET(MV=J=DCCVYN]\MLUHW.P"!',S[)I\T-*
MEBDXWZK]^XX:VRCUGW5+ZM;7(;1 N7Y(:)9>)WDV@^>L;8QQ\XRJ!67/A]HO
M#7'H+<(@36+X>NR.<)/@ T9QXP,A'4;,'I.]B$>-+$B<DW.BT>)*YU6XEX:[
MYUVH)M%ZO.W'"27'JEX;&WRB2$=%;8?DM/F0T+H:5;!9%9;/^Y;0Y>^WUQ)Y
MI,3_\WVR>%7]<BF.ZB]K232F<G13*KV8'.?F%Z.L^SJGXXKP2X0;(!5?MJTS
M":$=6NVGLF 2&5;;4^+77>!M1Q))2;D-)],3E!PSD&YD.5*DR"CFH2XT6]Y0
M+TX]OP@@5H:)F(6']A+;@,Q:H*B"G)'VKD ,&BX"F@;-K2 ,%8&*:!W\"$%C
M>.]HJPL.P<<GH^36O:>S7MO1QQ+L -$B5B6&XM63TW);F1:P<@'"PFV/)"5J
MW8>GEI93_YU-@:&T5N)GP7FA>'C153B-R"1-$S\L?@)VG2@F<*<P@\Z-^M)2
MP8#@\ZM)7L^2I'AK*5QCQ\R*"LPDH)C(88RUD2A4N*"4O1?MV:(-:7HQ;?QL
M2^I"'V6W!HZ.0FB$*VRS66_VRMN=WS.5\S3T[L*(C4?KF7R:I.F*GL_H8-D[
M$D(&D?$RB. ]6E5S8)U30@-'+8UU]U4E #;L&CMK:G_)3M*<DHOI^L=+!#M'
M@[!;LP>\?)L'EPZL=G.N^CFHJ*-8/S)*CL,9]%>W6(@="-'<H1*JUDTAI>B<
M6D)HTD,*9V#:2$#X@]\I0^I>3QL7CW5G"@&.D/J*DWRZ]:*]:UK>8YJ'O:_+
M"HQ; ]VJQ48@MS\<:2F'I4%U29,@]U>7W]($==!4HUGH,&"4P16Z,CG+X] /
M'[Q(5P*"@:-9]Z(/5Y=G,\A6GWHA+3;:)>6&I4_@X4"2P2YKBF@@+?M\99TS
M?5<6N8]"SA/17=&BD0Z=51HH"[\;HW/'#8,QG251<!K.P^QBRODDZ26A#=_)
M<4)OO"]%+Y$TI[S<ZD&R(-2[)Q?Q)(YS+]KWTJX%V'_86Z2V*_>!S+2WBJYU
MDZ*/P\G]/25,0R.<5<::G*FC)S_* \;[.7D\B+QPGAXSI#[Q7XV+N) +NCJ=
M"\/88(U@<[0[9Z_.2D*7$XHCO',*'GISQBD/W+V?9;]Z46Z[A)>:WBYI.2+Y
M:Z"'4X"X>WFM%E$8D:HH,K+GH8^BTU91@R37#R! 7[4AO9+R-<FR+0FOC^#.
M:&*:DNL%3ZWZVI/;89C.0Z9$;%%R79*[KGCIX0=1JO4SESK[O8J;K?1YB!:D
MFF$<6HL2!V7U6).-T_6\3'R?,DVHK&*'4RL41'(L&P>&'Z"TJ]FYUR7?5'G"
M]"ZG:?'H6;&39N&<J<$%C]9KX ]B943ZR3#(E75B]S!"*Z[SNY1\S1E;1PMN
MPB!%573(;,!H*UU-1,;$<R: !AI-(1V^]4 *E0!62:#2C[8006%A]2!5$111
M031N0;$1D'78RG<4H854-+"''DH(A)C.5L*))1$0BO6I$(Y.L(-5^5B/=)!*
MR&&,@PWYP,(9+,@')X^[EX;#,MVJ,T,B$ZR6KS6Y0]Y0AND[Z:6WY&=L&0C+
MM+:BUK1EP2B(.=5^(3H#%#2[.2UEH86,\"1:GTT-4,=:O^ZXJ0%0%VM_(33%
M1& @_/45G_O.2PG'^O\ 4$L#!!0    ( $F(4UK^16.D=JL  .$\"  4
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
MM&Z:7A+>Q_<)KFN3$9_PXA-SCF"?_!@GR4S:;H3:^2,I$^I$9I8-\UI/QT;
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
MI[0@HKZ]YDQR*MY#_ +Q=@<N0KQB=C?B%:S-4KQG6;[-<F(%##;CX13'-GN
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
M(49>)$ZT>HN[Q%LB\.=_^^8<^A+C--*/U0@FNO;<^&2( OGU8-2.7H(/)Y=
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
MG*A&BIK'O?6 !J\LUN"G=^)<*MAKO3B+R.RCOWWLC+BYO 4%,K?>JIP8C0B
MO>;7_D0\N)?R8/SUI-_K5:SFFJWS>O(QR*/SH)SGN#Z$[E;9!MA%S8-@%#JG
M;[>6<>X6R*37+(BS-%L5N%BM<%A>K:"S1;G^6Q7D)<YITDPQ6QQ'#Z>3@*81
M2:+;*SH7[%,]&['I=>)4<80  D^]?%QJF8B[=\FES2#+<"++S+G+B96K\AW-
MT)DCDB/&X]8^">E0I5PU,YK<*_^I-TK1<3*P!.NV-F/U'2P']ER>E0Y&MQJE
M09'6+<N6$+6FQX_;=9#C0I34X^].7D?,G!MZ)6>L@]+X83-7(D<?MNL,L"YR
MD?+48PJN ^4E9LR31B\P?+ J^_S/-L;,@)+/)\OKLH2K+-_0UX^G._;'>6\F
M]"EP&+FS($_#2+'AJ 6&.M".T/VN';&L2PQC)>'?9YBQTCY4(<$SU[:JA=*E
M_FK08Q2Y:!3S,DZ#-(R#I*NZR\J?-9 ^Q[RJ66:OF"PS\Y<@SX.TW+6O0N<P
ML')<CN_:Q)0H<G";29WGP8<Q8#\7;&I)#N[6%$P8<:TF CZ7M5/C<^SP*0FR
M4#.N25N0JDF-F1Y#K/W'X;-VN.@C)A.GX9RV3(S.:=!-18U"U_8JUIGH^6;+
M5*X<59.SPSY93P1[9MLF1^G0D].AQT[C%A,>,9&RIN9-Y;'14-(I1)7@H01.
M"^H/GH!5?:#/KPIR<FG'L'L[>M%!_P=BS"=I! DUT+AYGDC+'"0Z?;0YPP*D
M]V8+NMB84[]ZAYNY>&Q;\9J;X7 3/ZS+;/6^P/5?@C2BC:IQ-$QYF"2!QQ*=
MLR<+4U)MD;!#$3W)5D\(JF8$I#LR;)QDAN4\"II#O^39.2/$8E'[92(:!$[4
MG-^04R=J#KI=?TD\-^WS_)JXSMQL(K*H^;R+_G&VNX=Z-&&5$X?R)BX^O W2
MH-XB;\N<('_8D8WP5?:(<PB$8M5QMRT1O8M8>>A=U"D-;8W1R29D39XH&: +
M"P$PM(=VA!IX1_3CV(/TNIN,5@I:S'H4(RU\+!N$.B?JZ=79Z7XPBL"IE=JS
M89]$16R5>Z(XY%E&6]+G]#0#:&=+_I-A<AI]E! B4M#NC%I!12=@+VE8:AGV
M$K$4Z[?-XQN";9O5N%&G(3J_.C6@1E^Q.BU^%JI= KE*58S'#HM#VVVU(4!V
MV>HV?DCC51S",[N0-KJ(TX?K+(E#\]"&!5!'!R]SRH1%'2D@FD&S!X7VL% #
M3!*!<'QDLI=UVY;(CGTC*D6N(1CX.MTCN2C*>$,V[[GN6G0P.DYO5E,D4E*%
M9HI29'S81'U!]\RB)F],TU&A9AE$E:]6;X-_9GE3$&2R$G1BV,Y*T E)$.VL
M;)#G6PHMR31EY^1K'-$_XP:'.'X$ U>\PZ7A]JB"X"R8KR!$UE,#=:8=(3)Q
M08%V30GU&FTHN&#A67' FH2VI=-=7(6JB##3C@5L-;I"D>@%+YIKY==<QM#K
MCA8M>IV6K&I1'5*NK14\L)CM>MX4N].#GR%Q C6LH;"R4'LX[*;C"%%0J'X)
M!L"6<C:T5(RN3V3#0 O[=E6N<5Z#-=S_1#-=634!?H$FT='-#=F2RCXH!-"8
M,=EJ+3,E#D&:[&RRV0X+G4K(,-0$_M;F71N$&YMJY=:A[_/X,8YP&AF4ZC;8
MM8;0W9["!]A%C8F;40O)Y1)(I+M=\!9F>EP&K2)'\+S"T1Z<V:8@G>YJ9Y 1
M(4K?JZ>@O>27M$?H"*4Q"\K%6^X6 K@F6X82A,-]0T6+C9XL8@?1E9-"7T;N
M)33WAH#(5F<YCF+3V(IPJIO=0D:"*$D+9)^M4#UA06$4E13:3"G9>FWK  #0
M*P;T,@AG?3HFQ^4R[5Q*B9[^^$[A,!)@KSJC<NT6^P\$@6]#G 9YG+U/BRT.
MXU5,;-94<7PQ;&=Q?"$)PK?4]?@%Q/&5DFGB^/(UVL7Q7Z=AML%WP2?CZVW1
M3%=>J@"_0-[U:$2'+\HW50B@V5YDJ[7T2 ]!FCBCLMD._5 )&8::L CO4T,F
M8HT8Z7."B;F+2Z@'\CJ-P)^M@N27N%S3W.XX2XMUO+W++M*2[$F3[1VF&%V8
M%PNZ1/=  (7FEUYG1=W=QW=5HQ%B;C8B&][8OVB?\XFFQ\>56L\B89#H9L;'
M>V#E<\9I'B(VT'[&!62SS"+Z/FS'93%ZR 6R9V.6<B?'E457](=KLMJ";B"7
M2;]IMF)[Z4)S).,!6DF+TY@P+ P2])86$&0-3_WWL^1(H+'\PW59W)AVGSF#
MM3 ]=\CGNPMP2>D0YF7OY] V)0O*B]622^-\JA=O7?I2]1Y>]!Q^KKC8! 2Y
M+"\WFEI]U5U,(:;I=,:H,H,>*\WC,C364]>\>X6SASS8KF&;F"Y<)X3M+EPG
M(D&@?=V!?EUA+>&T$3OI,NTB=FWE1P:\4PW1- -)$Y*[/563(E%FRD%-S&XE
MS.5<*1E*L$U8,6".[>Y[\,!JKEU5@LCA;BFFPDK%_,<0]>4H?58W=@=K +.J
M$-=!7N[NR+Y9!"%5USG.\W)<+B,[4DJ$?<#K@B-T$NK,6D@*E98DNSJE9H+E
MM84 L.DQ4@N,PQ[8:FI,-6=!9TL3F>T;5&NRQ/)=N0#^7!N>$IW3YP4J:LQU
M;2D9%[IBU;!5![N@50I/5A2=\I?O N@J-T]G50DFI\HE(438O+PHNB50CU ]
MR?MEF8$4>UD\"@Y8A4T9N-*^V*(:AJOD#24EXL(6;)YN>4/GISMM0>UCJ3J\
M&-/;N:>-!/A<>YP$D<O>SD(JS)1J*3N:6GQBTW.P^A$%EZO[ O]>$2[1+GVS
MU7,2XW'[U$5(A[ 62C.^[M,H+N7D)42NDEXO\BU=NLVSF %$\U(ZDNFN]BP9
M$9HZL:R=2D<H^YHWBL6/V)\&L.?:G81HG)94%Q"A:U26$V)424UB4'A;TJ02
MB+*P@N@L#6AR/N63),D^0K7#RRP_CPM:-:<H6/F<8E_MX*S*<P(&R'S&D4X+
M!JVR'$4-(!0P0"AO(:&P!O6USV=P9JL>F@ KIDV_9ZMD>QI$Y_B^O/@$5[;X
M=7J'\XU(@&0LBLA@A.O1*$Y12<9_[6N[%BU@* OQ(CU\36?!-BZ#)/X#1R=I
M=+*!+FWDYZM'G!-5:?.4KZM\FQ6X$ FC X9FS 8-( 3%2>DG%M>YVV7P"6T9
MM*^]7>,9+OO@V&?#-?>?$[2%OUJ1KSO+(Y'D:+O[; 7FCHSR)Y$NK4-V'Z[#
M R_Q"A/;&,'Y+ _"\@:3W;!JZZ7OA/QE\U#()A).TYDH::9^[>_-@FI5!Y+0
MXH(_Z8"64(J4XJ J3X=ZU/DAU2)V#Y;E@;_-$^FS;+/)4MHN^WVZ#6*A72%&
MD;@6P.:H?2\>X3 )R'*.T'U5HHK./T)1E<.E_!;G<>;3  F7>" 5!3.F/I.H
MA'.QV2;9#N-NJIM(+,U88H[V@_TQG4?ZD-WBY7GPERX^A9@XSFET=5^0\46(
MR?I>IW RRO+=#2YP_B@T/O5DZB!EG>G$-6+SB4FB 'R>-+16>" C?;:X-U[$
M'\NAM\DYKO_[.AWVN!,)[&Z-48I+%-(BK8VE*LEO\[;9>&VWZ.F#_+[I#MAN
M[NWQY.,Z#M?@!2=5A LZ.,P*:B&SJBR(14$)?@@2M,)0<C!.BRJ'$UO=XB"C
ME9L8K + 5'0;8V@W;6, .CHB^P;@)+"W!P1M@I*<DPJOYR2U2(8:IBO$R6]+
M5=HUO"^LX('%U>I-\+&HXE)X8J+7IF'WVC2E,T%F"9OKT3%4K&HH'2TFN-X7
M:1G41ELN8_)#OBEN@T1\C(4ZGQ&; I_6BDU"!<SRMTV*5S(4A&K-'F30?+D&
M,HC31<I L!*.#*1K=BV#J_PA2.,_Z@<_4#E]=X<_E:<)<5N%QZ2X"),,'K:!
M/0KVE=>W=#X-Z&0=L%_[RDZ3K&TH%B4;W'LFU\2-".K4W:O590Q-?.(@@>>%
M=?O0":4%7L)VCPX&KAJ$J&@Q>MQR#)DQ%*\5+WV(O.^UT!ID0?(N2T/YA<59
MD.<[$.ICD%08!06($*1Z'R3T'J-88]B^6#PONT_BA_I1_]Y;+-=Y5CVLR7\#
M-G)I7FD]$-:W*L$92C':$?N)OB0J?(]W61I1R%F;RQ_NPH3L$\1IRHCOD7_E
M\^BDE.VASFHIP\0).*8JJKA)^[]$,2^)!H90>)H6;^HOCA! K \<WN'FD-):
M\PS14V)M;N'723?Q#=3\8URN"5&MGA,D[%<P/(7G*<EGHNV"JT>I-CG6;+A"
M>$CAJN:,Z%(!8=6BS..PQ!&+XDE.;! ,"-JH9MZ"HGI9U+]KH)$=E8!#53HX
MQ;E/WM=8\%!B!EQROW_>KN/MEGP*0%J]I4_L)#7?>-CZ205#26W%FOQ/0C]%
MX,T1LU#PBX]K3*U.8ZK(7I;CQH)1T],8,'J20?6=:/O'VF2Q6]+6(6OS$;Y&
MKT64@ 6DN(I.MR1Z"YN#"2G%-!S1Q ?&E=;6WA-2Z"IJ;:>J753$&K-5L3TX
M@6R6F)!)K!?]Q0'M QN^A^$U]J34H(/\*3V5<VS+NE2)[^5!VNWNIXA?]K2K
MA+<4S9B'+(MJP4,@-PYA0\[('E<W)"J\G?YZ/)")K? C(K"6-WA+X*X#XH?L
M39#26L%F0R#'Y+N,>H:KWECR%JB_@(C&Z@Y$HLL0#S<[=VL"=9TET9MX$Y=7
MJY.'AYPXF"6&V";-ZF >YAFDM!#W\2H]25/BK9\&15Q<?&+;P#O\\2P)XDUQ
M21A5M^:EQ\^K_"WQ!L)X&]3NGTCP-WL_<A-\BC?5AAA:0A#=M!J2B/M7=+S:
M@-*1U'L8\6 ?8[HAM3XQ,;HUR6"IZ\'$?R54$P^YV;U@:HCS,B"&(,4?81LD
MBT @;O+YM\N 76O36XA/]\:QS(;J[$5E7$</AXN$M>'B&N>=UW9DK7?!![(4
M^8IU=#Y.^SI/MJ=:%XV5VY]EG)!E*I4;+0T/EO9]FG=.&/M+?=BHU>DD5=H[
M>G4J&X%KZ=,:R=8UE*.:!XY]E9^#I*J+)#6IPG"=SV[NBS<0:KG$XFVK?SC>
M1V9\RD-S24/1&''"^76SG+I;7)9)'>_6DU2QG^#/7FJOR4Q4!\QPO76>!V2S
M*K*TV%==Y*?@LF'HMWJ@QR+6 Y(/4M]X*_*PA32)D?1 H>!ND_%)QW)8["GI
MLT/Z 9=%JW-N;9K;ZST1QQP6-Z,.F>N8MWURAVSE+<9]NE"\+?!.81'J0?\6
M;+/BSURKX*&53H?L@^R?PS4Y]E[>T3\$R4V\HIU"LS"FOY&SN9F%Z#34F;<(
MGLL7=9!UHL$"#Y;Z%F*(Q6U6E6NY,.J!B(Y<P$9X0/=!+(N_, \W(K!+O*95
MX.)'#.5=GS\[?JE@-MT+VTFT*"R":?[W1]ERN/%$Z=(=VZ'W:;!:Q4D,)8G.
M EI376'J3^@9-DMQ[8\3,6#:?H&&.^H+%+@8PBB& 'SWWBK'OU<QJSQ>9BRB
M3QQZF@6#.]D]<:?,(;VJ"<H.4G;57&-MMAQ%:I#S@[6(JX?':CG_73X7KYO4
MLNN[ZV '[VOAM6#==+!3K42D&JQ;;_,@F8&@US!-+\8.%+\ORK47VY68):<<
MMB@RB 7P'.-V.MK/1P0 :B @"@(!#)^>QOR1DAD\;=FWQRJ\TC?640P5O$ZB
MB/;PN<O>9.D#[2U?-Y 6;I$UB"/4 7*$&C!@<0'0$PJ)M=3V7BA&?]6\S]"8
M:8[[5[-3<?V\FCV(W.>J*,__];PCQ&:B_52O!? 5R^()2HL3CKOB-#3=!9]J
M%>F8[7=8&-=OI4/FL:_H")'Q/HMV*98BDXAT]8XE4A-R<E_0E]I"_Y..0K\U
MX_QV@^C3S.,T;U4NJXZSG)=NQS2%A]],0;TYW B#CVKCX@7QV*]<O]."3.$:
M1Q6TL]-Q'FF]*V7B30,3#F.ZKC>K!X8 .*+0/?=4&<$7KF,PFL_.BG&_@5=7
M'6(4<5;ZR*PKR7J\QW>77/H/ JZ25;IURBZ"/(5#]C7.:4.=\SBI2K$SU@Q'
M9#RB$XX0F^)SQQ>L@O<M2!?LEO=OB#EZO8&4F#I H]!U,%[=X4O9@?C+X/%>
MMF"W32(@30Y'C2[(&=^,1JWR+X3Q_&7P&"];L$O&=]SLCO6CX2.M T9GTA&B
MTSR+0+(@Q3&#OWY7]50MZ@GRXF/[(HSPNFH/:.]Y[4$A!LO7W;+["HS'CO>3
M7W#\L"9[V4F=+-@4<:#;7'%5E45)["_Y_"%[,!2)M &"&!3TKBUK40-"'4A'
MB,+R&[HV6C;OJ[3@F]-@:%M%#.P$,1VL\N0I3O$J5D=FZFL(,)]L(OJ23?UJ
M$8$S_K)DYE/&""^282&\)MPJC$FW,F$3]O'H8A&B&*Y#)@3^FBVZ:^Q/I\,N
M>VT5@$ZCMV%L25:YW ZPNY:+=@2*RE4W@8^K%3ILE=<"[#7-:T!Z?<XW2OQM
M)H$]*YW?*;_+TO9%>'T%P R9_"*Y.XU=AJ OV<RO?)Z^Y8L27A@KV. LY"0O
M!\GSD=H9J)["4E/K29]] <QC9Z>0=Q ((+[6W4?RG>[@:0R^R\Z)*TU_N8[S
M<G>58D4.((.!:B"(0D%W&6K@H!H0(I .HH.N$P(-UCN4F3FOG'I"Q,K&):8W
MS*]3XB\_Q/<TBQ'N>NKRVM3PLB_\!(K#_(J#_#(65]NL0;(+^CW0^I:QOM:G
MI1JZ\(]8W1F C0"XY_C "+;P[.9H+CN\:>M?<K<7JSIWR6QS$UTI+^":O[L<
M]0W_X>(=ID"I\XIY6YPDM?K@BN6S3ZP^=GVUW_F.KX,20N&O\JP0'AM[EI!-
M.$)TBD^_3[ *A>$Z7+#;*-EE$.>0^$;VR@ J%\ 9P:@0#0! % +J@#A"]73T
M&_OO4BZ3M=?+E9L9LQQ_1J=5G$!@3NXA-J/\IL;S:>;QG+<J!_MVN(O^<;8C
M& L<5GE<[J 9_=NVT-IUGD&)< QU$6 S*PHXMD60=KZ"ZG$G:40'DQ_!.0W*
M0ODA]; A0(?V^%"+D&;2MRB/4 =I72RNP8L88O0;]]MS*N[YN-E5F;EEYC(T
M8N;;@EM[]S&;]NQ 3PT$ZD(V57TVC#\K]/CI."^XB4:PI"1V@T:44UU4=1^)
M89-]WP=KK(5[7M#F@<.3P_MT1;;_NSR(\#5$2Z%NF'RKK6<@.@6U<WR'7<3K
M&!X55"MV:0\')?GK"D-U282HOJ*4MB;H=72O)R,V^XC=Z?I^[J!>(3>)2),O
M#D,=T"BE*&''K<_[Q-YBJ"4J$M!^?/NHH9GBU3<5K8,G!OF:'3*_?GQ6AU=Z
MMI(7UF!/\IJ@4CO>^_7)< '"6Q/^2ET^J2-"?IW^5*48+ESE^P&,):J-FM$+
MB!WQR!]N ^(E.N*SPJ^'<']T'>3E[B)](+^++I/@P>Z414$A"@LQ8.@W .>E
M!HC-N@W.0Q*^.318^ZMJ=D-]T]1R[=Q0G^[8'XT>/#2W_2W$[FW_$;K?M2-D
M+Q[\/GDP8@K/3([BK[-;9^ID;H+\PYNX9/7TY;:TG8#V,SCVU'6I1-$RAC95
ML5['D<-WN#P+BO4U+4>)H]/=^P*.R6WNR GQ_1]I<J[J_1VT.P)0J($%7]F7
M  [%Z5>=3)P]2.YC/1\?G3D7>-^;+2_=/BBGE4:*HL+1.:VB?4W+9M/8-DWT
M/ V*?B5'H;VMLV!K6$?U1<!1G1O[A *!4 2UL2=Y#FT'Z]N!^E[Z,LM7F#[-
M]OO S)@;7$-KR5-G-E:S7#7OH%!G]'3FHD[_@?VNZ:UP^FRUNYW?A5*ZH"(N
M\=HN?J^@BX["Y-:CCM!)6>;Q?5523Z;,P(NEKLU"K*MX8<*/2<(&UX_/^P]%
MZ>ZMZ",T?&U[5,<!CPX>?G@*-TF6Q!.(D@.NLN2:.DBT Z'BJ3H;BNA8WW%7
M#N%#HR1<FU/GX U<DN'68>F]SMV]#4IZE-1[?EZ#.NKX?13:4?MTC=@M8JKN
M,?E*H'EZ WUI3] M6,(-UMIRUF% ZZ<@K8)\5R=67L!3H+OL$M_G^U]>$ESR
M#X_!:))0*11(0FW@-'\ 2+X_2Y/U#K]7<UZY<_8P67?T-T()<;0A;J=R(^H)
MJ#.#^Q["M6<G6L:!/R=?K\,/Z( 21>W*0[[[#PL+UJ!DNN,DG2(O_W$;XC0@
M!RUREL0AV3_EW&Y&>:WM+":[RV#5XMP]S&K2=^&>$3XI]M:MUZJ>^S"DR6!N
M)K;%RMJI'DV+:E5#9=?C@N.:&7&*KU9GA*JXO Q"2L?[M((X0[ E_RYW\*8E
MIA>3EQA?XQR*RP8/PE<& !!"YS5(U, \0C54U( ]0GO 4.\1[4'[/MA8\X3K
ML8UCL-MJ$O>E04LV&-Z-XO"S!+T\+>"N@R<=Z9+=?(E@I=_679[D.P\;Y'WC
MZ1$[W&\X*W%9C6[__NZ@VH#PC-]Y<LCBSE ,93_1JR[+5L13:#4'W&GU($)Z
MG6</>;#IEX,XJ<IUED.5SKOL%.\'"RMFT6F=0#)B8(_0'M3109$-+S(<S8,#
M9VX\0UT%V09990V-;X*/1<6Z)?,<OF&J72/(JQ5JIGJL12=?T]#=TV*!SS)=
M)V%8;:H$:L,3US0.Q;5/#DMV?=F9C-CLKSPG"ZO7Q[.8NEQQN(U)HWSL-K0X
MK^HD<WBY/%7TM$[8!XA^KWJ,&6 <*Q5ST>F3WBTYE<?M52[_"+P?X_M@U*6%
M[TT/U^/2O GR)NK$VE[>A&7N20NIDWOBV>3IK]D@TT3(,9?2!"+2,LMW\.ZF
M6./H%?1<EV6 T]%'J!F/Z(3ALUY/<N*OAB<3V;I=\%_W"1SDIS] 8YUHLG>)
M>Y#"%X<+2IZ5<:(KV-$,=9RI0+/BK[B%A"2U)NJ' %?">DH+J#@A7QCO6]1A
MA=.+]<9KN<M.0MKLBF@/(8^X,T08\+H-,EVV&TE220,!W#X& S5 CFC;L[)^
M!-Q"\BLT_17S!&C*+U>GX[NL#!)"2U2%9>N2,LU29"W#3,2F[MWXMA2E_P1F
MY=*&YV1=9CC]TG[)\@_$9'>3+5O:%'E;;&K=.@YU(72/71ZK]QJLD?=1:;/&
MJ<#N<EI18T=C9'445)7_7T]H(K\L#KR(HA;"Q?#DH5BY4RFTWJO!/5([9Y&7
M2;(52?UWS]=*G;1+Z$?2%L["A3KME/9SV1<-@_N0Y>2<\E?#$X5BZ6X]-Y'C
M(?&I!WY9WRU;@$,M6Q/7&U/RP.VG<9UCJ-'95/=+H\Z#8,5'PJ:V;A>(IO\6
M^N"#\2(@Y0+Y<M+DB^.MA7W&FF7%]O9+KY28G\V%OR;^QB);OZ-<N;?!)XU$
MA7J0_T2%+K$'B0J'*W$8^>?X;/29EYFSRE[+>8Y!B]:BZ:MVUNWVZB4KXE+>
M\I8-.NQFZ^?N94^PX/)EN")W"9X72;R)___JOK8W;AU)]Z\0&&"1 )V92<[9
M.UC<3XX='^0@<6=M9PX6^V&@=*MMS<B25U+;Z?OK+XMOHJBB2'7;1>V'W<EI
MBR56423K]:E*=D"</ASL)]-[*\;S=KT3/LXH$ 2A7JHY_./[C1<?ZNKS[:<+
M=G-[=OOI)@G A)GBP.7M3)PR;C1*@.H38N9D@%G91*D;DOH9PHZ!(/]D/DX
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
M,4DNL9YZM!107?9$F:9"5ALT9?AX."^S-NP/$T]!W&C8FF)I26J17*++.4=
M1.D7=DC+"]@" ;WU.*!'CM5BS=4U0<9\T#D2?]^7RG?V"<!3;^NS_=V^[>1/
M801U&*Y]AX( .!0E"?TSBJU.+/U(+MV%F24<,N?BE^*QS0\!HUP]E+ZIR&"V
MKH 15HC.CMM[3NV^+K=?BH>B6^_.[NZ:_(YO1# ^N"7RN>)G'%@EY[5$$UY7
M9U7%]96/65NTII;E*G_F!V#Q(% B?H-'*^&S63=?]U6Q*1ZSTNB\V#*9:3 Q
M#SBIS$RD,<CGPLQDF)X-6W,]4\R'B0E9Y4Q\2DS.B<&DF#4KMN8[<3"O5/X9
M8O&/G=8)5I_*@W>5292IF_M:E-+>/-8-X"+LJZWXR_2)KD<S/9S)\:PGD/HT
MCV/07?,Y8B$ZA. *Z>YGQ(GD@$"@B'P]O&RX2Q#@E\C')[)1X>W_^:M)D@HD
MZ0I)_^>OK,\82WZOXARX$I_BDS):S0T\"!1VAS6D_9X]-D6I(K8 3!B*6//1
M3 X71?:@8@(%$\<&&@O(CHYC<QR\CA<.M4\$KLB\:2'CLQ..^ _(^LB_KMA9
MUS7%CWTG3-ZNAABJTV8BE5-CP(;768$PNZB>/1'!ZV"CGF6%KN/8Q>/6<T1%
M6UF>E7GH/H%'DG:$12:+[@N7%\(K^K)H\JQYL%Z/'3[ZJ<3QYN%D1WH/PLHR
MBALBVT<'*AR6VE$ZEFWLTY\G,L+,LJ'E"@9K#H@;5O8.-V!OLW]Q$V?:C)WA
MDY!O 3P5.R=*^";DFR)<% EUY1<46LB3</)Z$"<ZZ"2C]<[8"$'TR'K7&T(I
M+R]D[NA.]K%(J$U+G)OB*3?U_H!^ R[_:B.2C_AG(OO3;?^Y#R#S&EHV)H+
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
M%O-%31-;S'.YQY;S. E25Q9T@)#!Y_54;//MQ\/W%J!6+HN*FXU%=7<&][0
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
M,S60[:8I'IUN["DLEUGR0&V9(R1*"-9C>X.$X\=$R=:A>.'082;]8E;<<+V
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
MS! .I0]57D:1'0GUC;VT9H0H$ZA:Z^=V&>Y6J ZH*YB<R&J)!T,T#E=#0:4
M)=6BXKB<X7-%Y4/KN1'1CWS;7G).9?,=-5>NY4UW(](C&0B)P5B(^_6CD59$
M:=8LP)]GO:*D0G@=X5@PL9U6$Z]"' Z.CT7:'3%EY5BFC8J4B!82_/U'F8LK
M$4G:N*:B[L3!R::]B8X3Q5S3,214RO0BU5SY,M]">;BI%HY#^S"]I-5PN_)Z
M"NTC3052#*?84LZ1$9UU].GAL:P/>6X7)/I\G_K90>EGNE1O;.JN4>1GC[S5
MJUQ]ON#6<<UOQ\>\Z0[?N)RAS<*G_]D7CP\3=Y39*K W!A>6)L7_!<2$ 67(
M)>Y8,X_WJ<TS2WQDL#E9!:B::P"&4?^.!\V1S[.U1,S1_QF S"'W]T1P./+^
M1$N%MJJK:NNRV/I:='L*+?LQ2PZQ3C&'[:JP,-*$P_G6YKM9)'O>UR6_+EO8
MV=S\"W@FK/'F_..[:#$='6+Y"RCY$;)93) (5U)%Y/<55']!-_4N/%(<+Z/^
M6Y(E_09T??8(&B50D*F&L3$^S$+RU0.,H<=JC"R(]4\53BX/)A%*=F62$$ZA
M&]",ME+&K/$+J$R?QR>V:G,D1%Q3&('"==8INQ+RV_:0I3UX^'2TLZPSYKEY
MA3MHC'Z6Z A^ 8EAG\B++01I;&?[S[V*<]_6>JZ0R"/G!;'"V_H\:^^Y-055
M4-N/A^\MW#>F1>09\"PUCU!HJ'\7%(:9MXEN6^IC>0-O? M_AI<R_5: C7H#
M+V9%]=9JO=N_?#EZW&N(% U4O=K2];[!>B@R_M\9_V@1*[=O.^!&993ZX7+"
M-9&=&/H.DIC>?_CE_9]_MML_S:-%EI01/240()83HUM0K$TPQPK,:3?F. >-
MVI2?O8S:GI\GH!08N'^;A8'[MP7X5;#INW+WLTBL0@[PXQ42W8;;GHV_:-Y%
MSM=E\WI<:CUA@B7L/ Y*@/)>URY1#Y0@@&9]KK90V+SGRD@$PH'Q+7N1'070
M6$]4K^<24!".EL:4M_E(T5)^!8"Y).>GL\]%1:8LF&@_9B7\Y OHW'PZ9_I8
M7['W'][]]3]D%T"U](:DZH$MB:Y&.25I-F\4Z]CRSI 9Y5*&/'SSO)ZI5R?$
MS3$^SF1=+&8&M'5F7%P<.UW3BAG1ZQA!I.R#>I4_GY=9\=!><@M)X>5Z-\RH
M$RH?S>1P)L9KF.)%-4/%6$1W4:QD2-?KJJYJ;97*KRC0.\$>8'P':LS;U*>;
MEQML00*LTS7%=,"(/LS$7?JP (O)PX-K-$VR2F2;WC;95B!#9Z5K,4>!*UKC
M$8^"!W"1NJ0MDD=W?>;)AK#0'NQLV>?GMA8]?^*['T$&A^P-"XD<HAG2PAH?
M!5@;97#$R8*R\X340I2'?;8^I@,82TPL#+ VH9--2X-P[PRKNU7)]T6^D3^*
M#VE=!2KDW4IX4R*OZ>@]!@E3B7LPS^'7W5OS944;SM<5%NUZA^?>A4)!/04!
M9^[)6T1C.FE -"/YQ?.HYDDK":B9\7IH1X?/*V1&6*X@/2:UWNWG!EN7$._$
M#G03E?L"'3NO 0UOO?O>RH0>+V2(L8'$J!43X][5NW??6Y43E7I1)OG"UB5"
M$(1*Q: <,++H,74 VIXR&CD>\T2([ULT;3<#JD,\ORRH#A\+(SMSDM7$+955
M-W3CL\MUIW0_AB7:3KEW8^8&_3<QA&4TJ_BU,%-2=%M'MIEM\EQ97$(1C&J[
M"X!1QNZ4*G):U\ $*V-#,\"U60#%S!<^6EUW_!?^'S_X,L*W^/\!4$L#!!0
M   ( $F(4UI1Z)_&SDL  .:X!  4    <F=R+3(P,C0Q,C,Q7W!R92YX;6SM
M?5N3W#:2[OO^"AWORSDQH='5LC4QLQO5-TU[^N:^6./9V'"P250U1BRB#)+5
M7?KU!R!95;R!!,!$):NMB)VUU&HB$U]F HE$(O.O__TT#U\L"8\IB_[VW9L_
MO_[N!8E\%M!H]K?O[FY>3FX.3T^_^^__>O'B/_[Z?UZ^?/&)1(1["0E>W*]>
M'++YXL:G+VZY%\53QN<O_F\R_W\O7KYX2)+%7UZ]>GQ\_+,O?B?V*2<Q2[E/
M8OF#%R]?B@'70QYR(@?\RXO/8M03<O_BS<<7K]_]Y<W;OWS_^L7=[>&+MZ_?
M?I]_\A]_#6GTY=Z+R0O!=Q3_[;L2I:=['OZ9\=FKMZ]?OWNU_L7O\M_\RY/\
M0>7W']]EO_WFX\>/K[)_W?QJ3-M^40S[YM4_S\]N_ <R]U[2*$Z\R)<$8OJ7
M./OA&?.])$.REZ\7RM^0?WNY_K67\D<OW[Q]^>[-GY_BX+L<MQ<O_LI92*[)
M]$7&^5^2U8+\[;N8SA>A9"C[V0,GTYR16-#):,3$__.,+5\1/Q"TWKZ7?W@I
M_R#'_L^KY>*(QG[(XI2+422%N^O3S5P:(\A?>%7]Z-5_N6+NF'.I;N8,-C]\
MY1+$TRBF >'")*0-3;@PC1F9DRB)=1GN&$%R[HCOR:/'@ULZ%R3-,6[_V)1;
M/N,9/V_>YLK^G^('O_'?#ED4LY &<I$X\$)I<S</A"1-YJ0M\71&N%QD<LZ4
M'^=*X)*_WZX\+J3V0!+J>V&+^ W8K8_EAOM3L?+/R4TB_BSUS9CC^O>&JX&"
MPYL',?<'%@J;B(]_3VFRNA5#O&7\G1:#'9^;+P3&+-HH@?YH8!,H2_'0BQ].
M0O9H+/[-AT"&?Y/.YQY?L>D-G45T*J8<)1/?9VF4B(7F2I#U*=&$5&^H#$\
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
M50=LXS:&8X]'8A&0"?[9(Q=HBZB/[\@<E&1L0W;U 5W9@9H.\O[0)[BR 72
M-6IGJM:9$CY@)E_)I'R5T<D:_KH*E:D)&>94UR'IW0E:BY?JC()ZV]\O&:G?
M6F! ME>$[UNZ/4/U'> A^VVY:ES:3<S^U+ 5;/;R>S-T\2+T4!P>XRWQ3=DH
M5Y&O@=Q@NT]Z.E&)D0W%?\Q&N#EIW9"9Y/LTFC(^K[X@!C/'G(18LV1//AD@
MV-"J!0UDF4U79FK'A'4/^QHY]X<7'8K8Y6T&*4+E6D<'WE&[>3^G'A=D0MG"
M+A6"9=," A;%=Y&7!E2L,>"FN*%:O&WTPI(,G,<'3*E;QPPZ";DR0$VBV!NA
MI0J4K4\7WG%'&8I]_$K,977+A1_JY34481\*J:@X>WG70\[:IE0CN]_93"AC
M6Y>NN*MO[@R0';=-R3>#8CL67[;TE8&*8$CG8$/(=Y:HH* RX.;UC,R\\-Q+
MI"0F^?/??'2'3\+U:.(F]O0(M)KMJ@7AN*VDM&V*F::5(LE 60Q'A-.E)XN)
M;FD<D<2CKCJ):A"T/4NUP>5^U]&EBAHRU!=SV8BT 1US!.,FO8_)[ZGX\GC9
M8T!V)_C:^*[B$BHRUI&'VH#.X@U*.MA1AA[!5>((:K!&'3UH%D(Y6&5_6D&;
MP1Z6X+GD,R^B7_,+A@P4DVNBKJ\Q4\_TBN9TSAW6*]*61]8R+0]M74XW>\^F
MUG5L+B/3$<<O-V.,P+H V6;)1K%@*>@W,H"TV Y2V.=]LU)6W:C!=>L84%.I
M5*'*K5C[Z>V7;#7PP^W)490@K!=1=6N[6C216_^9F; >BF!M?JT.S![E6?[(
M>990DNT@.8=NI:U/=_P;L@664 V"[;*Z2H6EF@6JJF<#L 0O'9K[9-R:* YH
MS G1";JHE.36EI5D4.-=9N)40X7<CU=9HL>M3+7)CN-UO::4]<$LI/XC5CN\
MT_E"["99?R=^1.,%B[WP<GK&HMD97:XKOC@V:QL6]FD)M\.XT(R/*"OZ)\:"
M1QJ&0G=/90&Y&97E'S)&U__D9/_6I[L_[IH!ENL("LCMAOVS)M?;N(+,7FWC
M*JC6(H2(@ED63LBS'&06'^%+<APG=.XE;OSM'F)[M6GW ;>6[.!@F-6=1[ 4
M#@6-Q5RR+&^W)MI';7\6WU[<UE(='@$S>C[T0!>+@B>-,$C[XZ'>,?;!2=)
M8BVBP9$KNQAT3,2<98#MB"Q)R#(_OGC5[61-U:&X5PNK%H1K(:.$JNH/,]VN
MKGW4]F=U[<5M+56<N-0%>2S-A[-(_-$O7UZZE;,Q^?VZ73)'=ZT-0#$NQ(8X
M69TV\+3\Y]@7IW50>?@5N\'&XW9:3-"& \PE>$"K'"NPQYV8W-(VI\_X!M6>
MW=_N.<U1)V'('CVQ*)\PGA?BDVGM3HW-DHDQA'[TF^?8(CWFW.52^YQ>^_I#
M=M'9EFW=#%^44]Y1*=P>LLA'0L/F.OIHCK@;B+++3K\%@5[1/JMF.SN_:1[)
M+@3;6&<_#*C4$\71IK-?776VJV(=&??;BYHB=@5.O?XZ6MB-^@5-N<E.CSG8
M/?7=AS8[8AAY%>!4Z554L.-O.IUU%/@ +O(60FNV^]E$&\Z]).6N0SPV'&"&
M>.Q:*/5B"OL !Z>QDHO(ZK?^2O4M4H>%W75X,65E'+>?H)V6AHEFU&Z-HA2_
M"T/?YXK\6PU8YXA^XBQ=Q *P, V*@G)9;1&A"]O";#F>FU>9!UXHPY W#R0+
M^D^"(+_("K=A&7?/[Q%F@'TV,>D.@"+A<=_NE'H,.(LZ[W6K@1,BQ">KHA1C
M7[#$77F93EJHP3'#3@,]J %WE!JPU!]/I\3/:^44K%X+,Y<9")'LF)57+]R-
M'V;!"OJ5@Y%2#$,=ZFPUT#4H" N6BXA8A."RFW&QKUIBB#54J00'NVRC[X2;
MK79?>YB4%H;:T =>3'V9MDK#-)&:L)N5V(B+/>I_8@WTJ,^W]>X7CJQK#YND
M-.5>&?M@=1AZ\0Z.H]U4]Z#!BC&0XS[U=71Z<'#O]8?L];!1E ["!ZOB']U;
MH!D7V-4:X7I"V(IAU!N>5I\(!X;\!^D4L56:[J8&NW%&37C OC\'Z"-A"?ZX
M]]O6$OB.W-2]K82_E?P59T'J)Y\]SKTH6>WFE8HQ>6QC,ZB0;PXM=H2VX'/#
MWT[Z(F@2W2/!Z\((F+CBY(1?Z"^;5I\(?BW<'+!%=&LH#4+M"VE[80"-44P/
M%@9O(SO0ROL Q!70.B;B@*AA! .4 Z%QY#0A\WC74]\21CI9&>BU7#Y<*)O]
M$A/:;B8Q3W[;7-O?^"3R.&63)QKK[!OBX]*>(?ZVW2_4XV)M#>Y6!ZD.'3B6
MI&JZHF6C%H/=1?&"^'1*!1-L[M$(0D+*L7'*LO1JXP9J-2@EMPQI)7&K::Z6
M>_N[P;!T+0CR]G[CBP$[K]VT4&+L;C?OOG?W):#M3S,+(@PQ$&;+DV&E4-:7
MV7G<LC%)8&7HHX:1>[\[;>C%VL(7^9CK0T1FLB_CX//MFL6"N742H99G8J$'
M#3+/?#U0PPN8)0*['?SV>N<;PK-6@5ZP[3MOY)O"<114M@1W08]Z"9;>F(==
MR*-.QBKBH1QDP&+9+/?QB<L86/ZJP]'C( 4Q] -\GY2ZZZ14@<..\I:KMARQ
M]#Z9IF&39T=R-J*]7V(W@Q70&S)1@@J7\N&%9"_6%'_K*F0Z(H87;"918XPL
MW!N%+,%J>.UJF2Z1P@K#0:W29=0&- ACB1<Z3KW<^"CU\E7P[DF)@I5GTO;]
MD,8=Z[))[LK4M9) WXDZY-#::*>"#[;'L>'JA$8T%E.2'2"@3]T*(KC5P+OT
MM55N-80P"UQL>/K,^)?3Z(HSG\3R.<BU]W@N=BU.O="9$#MI[IE,N_'#?&*U
M83$[H;B293XX2O#+?@$M$!D@G9HC,$Q 9Z<GET6'#E=B*I- ?[W6II>M<JH
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
M<OT>Z&(AN)#MNW3:DU1_'SDP;(9];:J +XRL:L0)N,14'X0M'Y$E"=EB_6X
MWFZZ:>W3)J>)'FBE-NALY&O!<)22:^(S<<:2'WM1(%MRR63,^)$F#^M+2$<I
MR04#)T(0:[*?2U0=Y2?K4K5U_S>P%M77A"<J'TK()/C+^Y#.,C&YF5,/3=Q5
MTE#:52O3@A2KDOH%24XCG\LJ:J?1.K\ONWO2V,@Z/D;V$"T$UH4$1H'SHX+,
MFO]B2HHZIZWRZ1T"\PAM(:)^2%"R(]=L74X+A@Q$L_UF3V51FC38T<EP 3LB
M Q8PU<=[N8 ID8 Z%SEPY;(>2L*1(W0I8^%Q-HT^EVW(,[)X2TS0<ON23$'+
M5,G5&.D^'>L;P;(A6'7$QG'#C*&SZCLO[&=>W7JR:?_5)98=URS\EB>N;2JF
M2>$(C5"_Y1\[SC_>[15;S)/?SKU_,[Z)3.C:H_BR)$'QMZWT%(,B.2\&MJ="
M ^ -AM'#IH+Z943TGS4UOL&PC6YUREXP->>&HOAK/FX?F3'&VV_&C7%I;BBY
MNAL^!*;FFES^"NLRR #K\ASA"FU:X7W"4FX,=^DC'!])'^OR_.!N1K\]V\'U
M;EV\T0$ZD3OQ;95D<*_M+%Z%J &#OT 8IUIWAQT WDQ\RXB$$6 C&+2+%,CV
M_%_HD&4ED<@K)1)I!"YAL\ <12_[Z0UX[W=$!.P^=7&77!EZI"\<NBZ+J]#
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
MU-DUC;\T%!WL0DM)"'43&*28<A'0%C=>VY,&]@<K1VEY791P5GY#:ZQ>/W;
MAE6JH\&49,E) EX7)>PRY[WZW"G',F3#7D=N2*1Q(M8(WB#E)&>KCQKF@FHJ
MFS[@4%YB5FKC?B*RH-KB@?I@=2O48^_-(MD#$4 ="V.!Y;R7>8$KDZT<>P1E
MLE4*NA&3&I@AN<&^K"'(5[_=W70 '!/_SS.V?%7\<HYQ\9<MQ*6A\&MA=\%9
MGC/:RG3N_9OQ]<(9 RU)+8,B/7"Q7(S:4 &H1&%H%)(3F7Q_.:WP [80J<?&
M6XC4^KB630<B]K5PSN@B)JM8^U5"]??'"E=M5C@/$6[D:3B^86GRH%\LK?$-
M5B&A;H!;YH92@N+(6](@9I&^ M>_0-LJNP%N3 RX!S5$^.. 1/[#W.-?=A,#
MJ9+;&Q]?'T"(=^DPHEWSM9N02)W<Z.(BK8K>+=LZ@C 1DALOE+D22Q*EY((8
MM-0Q"?"WTAA9-*17(@JD@(\;>[KRG#4>JPUY/&VCR.N<_OS*0#)>3 MZ'^D@
M-"J5;MP8E078A1;N^Z[:++8-B:$3)CI)83]S,)-F-VJ@9Q7H&^^L'JN\T^?)
MZI9[4>SY6:*G1B=GN]R[=G*.KK9[R1D? 7OPTKW"UAIF2(ICZ_ -)78+\UGY
M*AO1F'65+L^#TY$OWIVU@C\'Y[4N2CCR-+&]:H)J!V:[%^5%AI477M-I2"9Q
MS'R:_40[X-$S &JFN89^2M'T80#76M!&,C</C&6.>183.V%I%-A)J&>@42Z+
M*E'U@0);<GQ_EY7F46Q8.U30;2)K<!9?3DL_V]&VT489V\O7=9-T-I-69 $[
MI#KP_?.NKC/QY1GU[FE($^JF;Z/,$=P0\U>.G'T5%8OH7!<R^NWC^L:P?HA>
MG:D8UI5CWT$(,];2HT]YI[=>"6*E*C9 /5B)/3;EY'):GA2\1V] &*NXEZ;9
ME1=D$S@!1 ZP_N7L.;F)Z:*$ZVV::[U:R#4$A]W$B T[(/+BX4RHV\S,SU=_
MBWH(L\.Z PB<=(LM0]YCG-+6R[$>L50^',^692Z2*@)P]9',)4+SX^ 59T'J
M;Q;JE8V,M(;:4TO2@PFGH-%Y&E&?+KS05&B*#_?/L%0(@%4$,I3(733U*,_,
M_4JZLM0G^@E0'1\CY:H.$TX7&$@%=2[(+*2266)J,JHO]]$;4Z( 6Q1F[TX<
MX"$_LTU9:%_\P,+@C,YI<CF5[)'XBO!2*.J$\5OO2_9H,TZYK EZR):$>S-R
M&4VB*/7" R^N'SC;]VU :N/:VEO#?J#@@H4#AZC'9#;C1+CWV<M=P7HWT\=/
M?I@&8FX7Y/$P].@\/A$H?I*_&F7Y*I=\LY=FQF.A0JXY&MLFJ*5HSL6$6\N_
M=J _\N9B2C+]?/:0_.*%*70]IGYZV)<1>FIB@!]N$=UZQ&:CES0D10%@Q[&O
M-HI[L10808C]BJ#&9,[A#4F2'8FYC> >^!4F\ $>2L$D?$3C.16NT YE7"<Y
MJJB#N9 ;"&(T[*PO,45:<G&\TW'F^D;8BQ6W%P:X[IXV%E@/(DY\GPO/+R^'
MYJ9^I1;)_;% /03M"Y.J.B,-DW/9P:/Q?2HT23KS!==Q0N?B?)!-!;S&_"!6
M]L+F84 '*W+J)L7G)KV/R>^I^/)X*8^!+K)[ZC1<E:E3D3$-B"@PT<WKZ?S<
MOO-D==2&QKH!\:R2H8]7;:Y'@[+WZ9U2 \GB!I";H_IQ*BI8,0L=$ZJ\W52A
MA)6#56/(S;/;5AJH51V[E;5#8J[R\O='9Z'O>*Q:QLA6(V*KCJ^\E60[3SH6
MGDE6G!=8?7N((?MX??MEI8U+#VSV2MUT^TV+G21$/@+V!0L:KD?EUT>TD+2B
M7YT;Y#/]04YRI?Q:0&A.)&!^*KW\5]GMBL(]+FI. U"9I $MO_=7$WSQ'W]]
M)?_IWHN)_-O_!U!+ 0(4 Q0    ( $F(4UJNN3WSBCH  #4P 0 *
M      "  0    !E>#$Y+3$N:'1M4$L! A0#%     @ 28A36H:" A^Y @
M? D   H              ( !LCH  &5X,C,M,2YH=&U02P$"% ,4    " !)
MB%-::=X+5LD'  #")P  "@              @ &3/0  97@S,2TQ+FAT;5!+
M 0(4 Q0    ( $F(4UI <*J>J@<  /<G   *              "  81%  !E
M>#,Q+3(N:'1M4$L! A0#%     @ 28A36CJ()'F7!   91$   H
M     ( !5DT  &5X,S(M,2YH=&U02P$"% ,4    " !)B%-:47S[(? $  "[
M$P  "@              @ $54@  97@S,BTR+FAT;5!+ 0(4 Q0    ( $F(
M4UK-&MG!*&4  &YV   -              "  2U7  !I;6%G95\P,#$N:G!G
M4$L! A0#%     @ 28A36C?OHRIBOP$ F"$5 !               ( !@+P
M ')G<BTR,#(T,3(S,2YH=&U02P$"% ,4    " !)B%-::UZD7E@7  #B$P$
M$               @ $0? ( <F=R+3(P,C0Q,C,Q+GAS9%!+ 0(4 Q0    (
M $F(4UI#=!' UA$  $3A   4              "  9:3 @!R9W(M,C R-#$R
M,S%?8V%L+GAM;%!+ 0(4 Q0    ( $F(4UJIA]&87T8  ,TU!  4
M      "  9ZE @!R9W(M,C R-#$R,S%?9&5F+GAM;%!+ 0(4 Q0    ( $F(
M4UK^16.D=JL  .$\"  4              "  2_L @!R9W(M,C R-#$R,S%?
M;&%B+GAM;%!+ 0(4 Q0    ( $F(4UI1Z)_&SDL  .:X!  4
M  "  =>7 P!R9W(M,C R-#$R,S%?<')E+GAM;%!+!08     #0 -  \#  #7
%XP,    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<FILENAME>rgr-20241231_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2024"
  xmlns:cyd="http://xbrl.sec.gov/cyd/2024"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2024"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:rgr="http://www.ruger.com/20241231"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:us-gaap="http://fasb.org/us-gaap/2024"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="rgr-20241231.xsd" xlink:type="simple"/>
    <context id="c0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2025-02-10</instant>
        </period>
    </context>
    <context id="c3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c10">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c12">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c13">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:UnaffiliatedCastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c15">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c16">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c19">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c24">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c25">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</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="c27">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</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="c28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</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="c29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</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="c30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c32">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c33">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c34">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</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="c36">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</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="c37">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</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="c38">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</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="c39">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c40">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c41">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c45">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c46">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c48">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:ExportSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c49">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c50">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c51">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c52">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c53">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c54">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c55">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c56">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c57">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c58">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c59">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:CustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c60">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c61">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c62">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c63">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c64">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c65">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c66">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">rgr:TradeNameMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c67">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c68">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c69">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c70">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:TradeAccountsPayableAndAccruedExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c71">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:TradeAccountsPayableAndAccruedExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c72">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:LeaseLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c73">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:LeaseLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c74">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">rgr:OperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2022-11-30</instant>
        </period>
    </context>
    <context id="c76">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DividendsAxis">rgr:S2022Q4DividendsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-30</startDate>
            <endDate>2022-11-30</endDate>
        </period>
    </context>
    <context id="c77">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2023-01-05</instant>
        </period>
    </context>
    <context id="c78">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DividendsAxis">rgr:S2022Q4DividendsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-05</startDate>
            <endDate>2023-01-05</endDate>
        </period>
    </context>
    <context id="c79">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <instant>2022-01-07</instant>
        </period>
    </context>
    <context id="c80">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2024-06-06</startDate>
            <endDate>2024-06-06</endDate>
        </period>
    </context>
    <context id="c81">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="c82">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThreeToJulyThirtyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c83">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThreeToJulyThirtyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="c84">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThirtyoneToAugustTwentySevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c85">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyThirtyoneToAugustTwentySevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="c86">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AugustTwentyEightToOctoberOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c87">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AugustTwentyEightToOctoberOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="c88">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwoToOctoberTwentyNineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwoToOctoberTwentyNineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c90">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberThirtyToNovemberTwentySevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c91">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberThirtyToNovemberTwentySevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c92">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentySevenToDecemberThirtyOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c93">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentySevenToDecemberThirtyOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c94">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberOneToOctoberTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c95">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberOneToOctoberTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c96">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwentyNineToNovemberTwentyFiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c97">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwentyNineToNovemberTwentyFiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentySixToDecemberThirtyOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c99">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentySixToDecemberThirtyOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c100">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JanuaryOneToJanuaryTwentySevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FirstQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JanuaryOneToJanuaryTwentySevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FirstQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c102">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JanuaryTwentyEightToFebruaryTwentyFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FirstQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c103">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JanuaryTwentyEightToFebruaryTwentyFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FirstQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c104">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:FebruaryTwentyFiveToMarchThirtyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FirstQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c105">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:FebruaryTwentyFiveToMarchThirtyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FirstQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c106">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:MarchThirtyOneToAprilTwentySevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:SecondQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:MarchThirtyOneToAprilTwentySevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:SecondQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c108">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AprilTwentyEightToMayTwentyFiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:SecondQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c109">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AprilTwentyEightToMayTwentyFiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:SecondQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c110">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:MayTwentySixToJuneTwentyNineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:SecondQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="c111">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:MayTwentySixToJuneTwentyNineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:SecondQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="c112">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JuneThirtyToJulyTwentySevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c113">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JuneThirtyToJulyTwentySevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-09-30</instant>
        </period>
    </context>
    <context id="c114">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyTwentyEightToAugustTwentyFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c115">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:JulyTwentyEightToAugustTwentyFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-09-30</instant>
        </period>
    </context>
    <context id="c116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AugustTwentyFiveToSeptemberTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="c117">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:AugustTwentyFiveToSeptemberTwentyEightMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:ThirdQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-09-30</instant>
        </period>
    </context>
    <context id="c118">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:SeptemberTwentyNineToOctoberTwentySixMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-10-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:SeptemberTwentyNineToOctoberTwentySixMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c120">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwentySevenToNovemberTwentyThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-10-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c121">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:OctoberTwentySevenToNovemberTwentyThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c122">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentyThreeToDecemberThirtyOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-10-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rgr:NovemberTwentyThreeToDecemberThirtyOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:EffectOfFourthQuarterEventsByTypeAxis">rgr:FourthQuarter2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2024-10-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgr:StockIncentivePlan2017Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-05-31</instant>
        </period>
    </context>
    <context id="c126">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgr:StockIncentivePlan2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c127">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rgr:StockIncentivePlan2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c128">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">rgr:VestInJune2025Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c129">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">rgr:VestInJune2027Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">rgr:VestInJune2024Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">rgr:VestInJune2026Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c132">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">rgr:VestInMay2023Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c133">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">rgr:VestingInMay2025Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c134">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">rgr:VestInJune2027Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c135">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c136">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c137">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rgr:DeferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c138">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c139">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c140">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c141">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c142">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c143">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c144">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c145">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c146">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c147">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c148">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c149">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c150">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:LipseysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c151">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:SportsSouthMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c152">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:DavidsonsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c153">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:LipseysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c154">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:DavidsonsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c155">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:SportsSouthMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c156">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:LipseysMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c157">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:DavidsonsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c158">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rgr:SportsSouthMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c159">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c160">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c161">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c162">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c163">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c164">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c165">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsUnaffiliatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c166">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsUnaffiliatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c167">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsUnaffiliatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c168">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:IntersegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c169">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:IntersegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c170">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:CastingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:IntersegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c171">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c172">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c173">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c174">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:EliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c175">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:EliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c176">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:EliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c177">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CorporatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c178">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CorporatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c179">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CorporatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c180">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c181">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c182">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:FirearmsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c183">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c184">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c185">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CastingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c186">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CorporatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c187">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CorporatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c188">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rgr:CorporatesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c189">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-30</endDate>
        </period>
    </context>
    <context id="c190">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-29</endDate>
        </period>
    </context>
    <context id="c191">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-28</endDate>
        </period>
    </context>
    <context id="c192">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="c193">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2023-04-05</startDate>
            <endDate>2023-07-01</endDate>
        </period>
    </context>
    <context id="c194">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2023-07-05</startDate>
            <endDate>2023-09-30</endDate>
        </period>
    </context>
    <context id="c195">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c196">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalRifleAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c197">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalShootingSportsFoundationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c198">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalRifleAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c199">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalRifleAssociationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c200">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalShootingSportsFoundationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">rgr:NationalShootingSportsFoundationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c203">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TrademarkLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c204">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TrademarkLawsuitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c205">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TraditionalProductLiabilityLawsuitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c206">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:MunicipalLawsuitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c207">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:UnfairTradePracticesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c208">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TraditionalProductLiabilityLawsuitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:MunicipalLawsuitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c210">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:UnfairTradePracticesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c211">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:NegligenceLawsuitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c212">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:TraditionalProductLiabilityLawsuitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c213">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:MunicipalLawsuitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c214">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">rgr:NegligenceLawsuitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c215">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c216">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c217">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c218">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c219">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c221">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:ProductLiabilityReserveMemberMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c222">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:AccruedLegalExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:InsurancePremiumExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:TotalProductLiabilityExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c225">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:AccruedLegalExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c226">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:InsurancePremiumExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c227">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:TotalProductLiabilityExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:AccruedLegalExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:InsurancePremiumExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c230">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">rgr:TotalProductLiabilityExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-02-14</instant>
        </period>
    </context>
    <context id="c232">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgr:JohnACosentinoJrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-10-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c233">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000095029</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:IndividualAxis">rgr:JohnACosentinoJrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usdPershares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="pure">
        <measure>pure</measure>
    </unit>
    <unit id="segments">
        <measure>rgr:segments</measure>
    </unit>
    <dei:DocumentType contextRef="c0" id="ixv-16363">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="c0" id="ixv-16364">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="c0" id="ixv-16365">2024-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="c0" id="ixv-16366">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus contextRef="c0" id="ixv-16367">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="c0" id="ixv-16368">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="c0" id="ixv-16369">001-10435</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="c0" id="ixv-16370">STURM, RUGER &amp; COMPANY, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="c0" id="ixv-16371">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="c0" id="ixv-16372">06-0633559</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c0" id="ixv-16373">1 Lacey Place</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="c0" id="ixv-16374">Southport</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c0" id="ixv-16375">CT</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c0" id="ixv-16376">06890</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="c0" id="ixv-16377">(203)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c0" id="ixv-16378">259-7843</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="c0" id="ixv-95">Common Stock, $1 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c0" id="ixv-99">RGR</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="c0" id="ixv-103">NYSE</dei:SecurityExchangeName>
    <dei:EntityFilerCategory contextRef="c0" id="ixv-16379">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntityEmergingGrowthCompany contextRef="c0" id="ixv-16380">false</dei:EntityEmergingGrowthCompany>
    <dei:EntitySmallBusiness contextRef="c0" id="ixv-16381">false</dei:EntitySmallBusiness>
    <dei:IcfrAuditorAttestationFlag contextRef="c0" id="ixv-150">true</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="c0" id="ixv-16382">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="c0" id="ixv-16383">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat contextRef="c1" decimals="0" id="ixv-16384" unitRef="usd">771970000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="c2"
      decimals="INF"
      id="ixv-16385"
      unitRef="shares">16762100</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock contextRef="c0" id="ixv-197">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Portions of the registrant&#x2019;s Proxy Statement
relating to the 2025 Annual Meeting of Stockholders to be held May 29, 2025 are incorporated by reference into Part III (Items 10 through
14) of this Report.&lt;/p&gt;</dei:DocumentsIncorporatedByReferenceTextBlock>
    <cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock contextRef="c0" id="ixv-1364">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"&gt;&lt;b&gt;Risk management and
strategy&lt;/b&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;The Company
has processes for assessing, identifying, and managing material risks from cybersecurity threats. These processes are integrated into
the Company&#x2019;s overall risk management systems, as overseen by the Company&#x2019;s Board of Directors, primarily through its Risk
Oversight Committee. These processes also include overseeing and identifying risks from cybersecurity threats associated with the use
of third-party service providers. The Company conducts security assessments of certain third-party providers before engagement and has
established monitoring procedures in its effort to mitigate risks related to data breaches or other security incidents originating from
third parties. The Company from time to time engages third-party consultants, legal advisors, and audit firms in evaluating and testing
the Company&#x2019;s risk management systems and assessing and remediating certain potential cybersecurity incidents as appropriate. &lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;The Company
has an Information Security Program (&#x201c;Program&#x201d;) to protect personal and proprietary information in compliance with applicable
federal and state requirements. The Program is designed to:&lt;/span&gt;&lt;/p&gt;&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.25in"&gt;&lt;/td&gt;&lt;td style="width: 0.25in"&gt;&lt;span&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="background-color: white"&gt;Ensure the security and confidentiality of employee and customer
personal information and Company proprietary information;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.25in"&gt;&lt;/td&gt;&lt;td style="width: 0.25in"&gt;&lt;span&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="background-color: white"&gt;Protect against anticipated threats or hazards to the security or
integrity of such information; and&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.25in"&gt;&lt;/td&gt;&lt;td style="width: 0.25in"&gt;&lt;span&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: justify"&gt;&lt;span style="background-color: white"&gt;Protect against unauthorized access to, use of, or transfer of such
information in a manner that could harm or inconvenience the Company, employees or customers.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;For more
information about these risks, see the risk factor titled &#x201c;The Company relies on its information and communications systems in its
operations. Security breaches and other disruptions could adversely affect its business and results of operations&#x201d; under Item 1A.&lt;/span&gt;&lt;/p&gt;</cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock>
    <cyd:CybersecurityRiskManagementProcessesIntegratedTextBlock contextRef="c0" id="ixv-16386">These processes are integrated into
the Company&#x2019;s overall risk management systems, as overseen by the Company&#x2019;s Board of Directors, primarily through its Risk
Oversight Committee.</cyd:CybersecurityRiskManagementProcessesIntegratedTextBlock>
    <cyd:CybersecurityRiskManagementProcessesIntegratedFlag contextRef="c0" id="ixv-16387">true</cyd:CybersecurityRiskManagementProcessesIntegratedFlag>
    <cyd:CybersecurityRiskManagementThirdPartyEngagedFlag contextRef="c0" id="ixv-16388">true</cyd:CybersecurityRiskManagementThirdPartyEngagedFlag>
    <cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock contextRef="c0" id="ixv-1425">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"&gt;&lt;b&gt;Governance &lt;/b&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"&gt;The Company&#x2019;s Board
of Directors has assigned oversight of cybersecurity risk management to the Risk Oversight Committee. The Risk Oversight Committee regularly
receives reports from management, including senior information technology (&#x201c;IT&#x201d;) leadership, and third parties on cybersecurity
matters. In addition, the Company&#x2019;s full Board of Directors receives reports addressing cybersecurity as part of the Company&#x2019;s
overall enterprise risk management program and to the extent cybersecurity matters are addressed in regular business updates.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"&gt;Senior IT leaders are
responsible for developing appropriate cybersecurity programs, including as may be required by applicable law or regulation. These individuals&#x2019;
expertise in IT and cybersecurity generally has been gained from a combination of education, including relevant degrees and/or certifications,
and work experience. They are informed by their respective cybersecurity teams about, and monitor, the prevention, detection, mitigation
and remediation of cybersecurity incidents as part of the cybersecurity programs described above.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"&gt;Information regarding
cybersecurity risks may be elevated by IT leadership through a variety of channels, including discussions between or among key leaders
and Company management and reports to the Company&#x2019;s Board of Directors and/or certain Board committees.&lt;/p&gt;</cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock>
    <cyd:CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock contextRef="c0" id="ixv-16389">The Company&#x2019;s Board
of Directors has assigned oversight of cybersecurity risk management to the Risk Oversight Committee.</cyd:CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock>
    <cyd:CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock contextRef="c0" id="ixv-16390">The Risk Oversight Committee regularly
receives reports from management, including senior information technology (&#x201c;IT&#x201d;) leadership, and third parties on cybersecurity
matters.</cyd:CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock>
    <cyd:CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock contextRef="c0" id="ixv-16391">These individuals&#x2019;
expertise in IT and cybersecurity generally has been gained from a combination of education, including relevant degrees and/or certifications,
and work experience.</cyd:CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock>
    <cyd:CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock contextRef="c0" id="ixv-1440">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"&gt;Information regarding
cybersecurity risks may be elevated by IT leadership through a variety of channels, including discussions between or among key leaders
and Company management and reports to the Company&#x2019;s Board of Directors and/or certain Board committees.&lt;/p&gt;</cyd:CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock>
    <cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag contextRef="c0" id="ixv-16392">true</cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag>
    <dei:AuditorFirmId contextRef="c0" id="ixv-16393">49</dei:AuditorFirmId>
    <dei:AuditorOpinionTextBlock contextRef="c0" id="ixv-8124">&lt;p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Opinion on the Financial Statements&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;We have audited the accompanying consolidated balance sheets of Sturm,
Ruger &amp;amp; Company, Inc. and its subsidiaries (the Company) as of December 31, 2024 and 2023, the related consolidated statements of
income and comprehensive income, stockholders' equity and cash flows for each of the three years in the period ended December 31, 2024,
and the related notes to the consolidated financial statements and schedule (collectively, the financial statements). In our opinion,
the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2024 and 2023,
and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2024, in conformity
with accounting principles generally accepted in the United States of America.&lt;/p&gt;</dei:AuditorOpinionTextBlock>
    <dei:AuditorName contextRef="c0" id="ixv-16394">RSM US LLP</dei:AuditorName>
    <dei:AuditorLocation contextRef="c0" id="ixv-16395">Stamford, Connecticut</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c3" decimals="-3" id="ixv-16396" unitRef="usd">10028000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c4" decimals="-3" id="ixv-16397" unitRef="usd">15174000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments contextRef="c3" decimals="-3" id="ixv-16398" unitRef="usd">95453000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments contextRef="c4" decimals="-3" id="ixv-16399" unitRef="usd">102485000</us-gaap:ShortTermInvestments>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c3" decimals="-3" id="ixv-16400" unitRef="usd">67145000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c4" decimals="-3" id="ixv-16401" unitRef="usd">59864000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryGross contextRef="c3" decimals="-3" id="ixv-16402" unitRef="usd">149417000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross contextRef="c4" decimals="-3" id="ixv-16403" unitRef="usd">150192000</us-gaap:InventoryGross>
    <us-gaap:InventoryLIFOReserve contextRef="c3" decimals="-3" id="ixv-16404" unitRef="usd">66398000</us-gaap:InventoryLIFOReserve>
    <us-gaap:InventoryLIFOReserve contextRef="c4" decimals="-3" id="ixv-16405" unitRef="usd">64262000</us-gaap:InventoryLIFOReserve>
    <us-gaap:InventoryValuationReserves contextRef="c3" decimals="-3" id="ixv-16406" unitRef="usd">6533000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="c4" decimals="-3" id="ixv-16407" unitRef="usd">6120000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet contextRef="c3" decimals="-3" id="ixv-16408" unitRef="usd">76486000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c4" decimals="-3" id="ixv-16409" unitRef="usd">79810000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c3" decimals="-3" id="ixv-16410" unitRef="usd">9245000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c4" decimals="-3" id="ixv-16411" unitRef="usd">14062000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c3" decimals="-3" id="ixv-16412" unitRef="usd">258357000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c4" decimals="-3" id="ixv-16413" unitRef="usd">271395000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c3" decimals="-3" id="ixv-16414" unitRef="usd">477622000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c4" decimals="-3" id="ixv-16415" unitRef="usd">462397000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c3" decimals="-3" id="ixv-16416" unitRef="usd">406373000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c4" decimals="-3" id="ixv-16417" unitRef="usd">390863000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c3" decimals="-3" id="ixv-16418" unitRef="usd">71249000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c4" decimals="-3" id="ixv-16419" unitRef="usd">71534000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="c3" decimals="-3" id="ixv-16420" unitRef="usd">16681000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="c4" decimals="-3" id="ixv-16421" unitRef="usd">11976000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent contextRef="c3" decimals="-3" id="ixv-16422" unitRef="usd">37747000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c4" decimals="-3" id="ixv-16423" unitRef="usd">43912000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets contextRef="c3" decimals="-3" id="ixv-16424" unitRef="usd">384034000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c4" decimals="-3" id="ixv-16425" unitRef="usd">398817000</us-gaap:Assets>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent contextRef="c3" decimals="-3" id="ixv-16426" unitRef="usd">35750000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent contextRef="c4" decimals="-3" id="ixv-16427" unitRef="usd">31708000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c4" decimals="-3" id="ixv-16428" unitRef="usd">149000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <rgr:ProductLiabilityCurrent contextRef="c3" decimals="-3" id="ixv-16429" unitRef="usd">431000</rgr:ProductLiabilityCurrent>
    <rgr:ProductLiabilityCurrent contextRef="c4" decimals="-3" id="ixv-16430" unitRef="usd">634000</rgr:ProductLiabilityCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent contextRef="c3" decimals="-3" id="ixv-16431" unitRef="usd">18824000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent contextRef="c4" decimals="-3" id="ixv-16432" unitRef="usd">24660000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:WorkersCompensationLiabilityCurrent contextRef="c3" decimals="-3" id="ixv-16433" unitRef="usd">5804000</us-gaap:WorkersCompensationLiabilityCurrent>
    <us-gaap:WorkersCompensationLiabilityCurrent contextRef="c4" decimals="-3" id="ixv-16434" unitRef="usd">6044000</us-gaap:WorkersCompensationLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c3" decimals="-3" id="ixv-16435" unitRef="usd">60809000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c4" decimals="-3" id="ixv-16436" unitRef="usd">63195000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c3" decimals="-3" id="ixv-16437" unitRef="usd">1747000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c4" decimals="-3" id="ixv-16438" unitRef="usd">2170000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <rgr:EmployeeCompensation contextRef="c3" decimals="-3" id="ixv-16439" unitRef="usd">1835000</rgr:EmployeeCompensation>
    <rgr:EmployeeCompensation contextRef="c4" decimals="-3" id="ixv-16440" unitRef="usd">1685000</rgr:EmployeeCompensation>
    <rgr:ProductLiabilityAccrualNoncurrent contextRef="c3" decimals="-3" id="ixv-16441" unitRef="usd">61000</rgr:ProductLiabilityAccrualNoncurrent>
    <rgr:ProductLiabilityAccrualNoncurrent contextRef="c4" decimals="-3" id="ixv-16442" unitRef="usd">46000</rgr:ProductLiabilityAccrualNoncurrent>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c5"
      decimals="0"
      id="ixv-16443"
      unitRef="usdPershares">1</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c6"
      decimals="0"
      id="ixv-16444"
      unitRef="usdPershares">1</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c5"
      decimals="0"
      id="ixv-16445"
      unitRef="shares">50000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c6"
      decimals="0"
      id="ixv-16446"
      unitRef="shares">50000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c7"
      decimals="0"
      id="ixv-16447"
      unitRef="usdPershares">1</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c8"
      decimals="0"
      id="ixv-16448"
      unitRef="usdPershares">1</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c7"
      decimals="0"
      id="ixv-16449"
      unitRef="shares">40000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c8"
      decimals="0"
      id="ixv-16450"
      unitRef="shares">40000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="c7"
      decimals="0"
      id="ixv-16451"
      unitRef="shares">24467983</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c7"
      decimals="0"
      id="ixv-16452"
      unitRef="shares">16790824</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="c8"
      decimals="0"
      id="ixv-16453"
      unitRef="shares">24437020</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c8"
      decimals="0"
      id="ixv-16454"
      unitRef="shares">17458620</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="c7" decimals="-3" id="ixv-16455" unitRef="usd">24468000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="c8" decimals="-3" id="ixv-16456" unitRef="usd">24437000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="c3" decimals="-3" id="ixv-16457" unitRef="usd">50536000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="c4" decimals="-3" id="ixv-16458" unitRef="usd">46849000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c3" decimals="-3" id="ixv-16459" unitRef="usd">436609000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c4" decimals="-3" id="ixv-16460" unitRef="usd">418058000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockCommonShares
      contextRef="c3"
      decimals="0"
      id="ixv-16461"
      unitRef="shares">7677159</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="c4"
      decimals="0"
      id="ixv-16462"
      unitRef="shares">6978400</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue contextRef="c3" decimals="-3" id="ixv-16463" unitRef="usd">192031000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:TreasuryStockCommonValue contextRef="c4" decimals="-3" id="ixv-16464" unitRef="usd">157623000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:StockholdersEquity contextRef="c3" decimals="-3" id="ixv-16465" unitRef="usd">319582000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c4" decimals="-3" id="ixv-16466" unitRef="usd">331721000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c3" decimals="-3" id="ixv-16467" unitRef="usd">384034000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c4" decimals="-3" id="ixv-16468" unitRef="usd">398817000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues contextRef="c9" decimals="-3" id="ixv-16469" unitRef="usd">532608000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c10" decimals="-3" id="ixv-16470" unitRef="usd">540746000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c11" decimals="-3" id="ixv-16471" unitRef="usd">593289000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c12" decimals="-3" id="ixv-16472" unitRef="usd">3035000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c13" decimals="-3" id="ixv-16473" unitRef="usd">3021000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c14" decimals="-3" id="ixv-16474" unitRef="usd">2553000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c0" decimals="-3" id="ixv-16475" unitRef="usd">535643000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c15" decimals="-3" id="ixv-16476" unitRef="usd">543767000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c16" decimals="-3" id="ixv-16477" unitRef="usd">595842000</us-gaap:Revenues>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c0" decimals="-3" id="ixv-16478" unitRef="usd">421228000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c15" decimals="-3" id="ixv-16479" unitRef="usd">410148000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c16" decimals="-3" id="ixv-16480" unitRef="usd">415757000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit contextRef="c0" decimals="-3" id="ixv-16481" unitRef="usd">114415000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c15" decimals="-3" id="ixv-16482" unitRef="usd">133619000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c16" decimals="-3" id="ixv-16483" unitRef="usd">180085000</us-gaap:GrossProfit>
    <us-gaap:SellingExpense contextRef="c0" decimals="-3" id="ixv-16484" unitRef="usd">38755000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense contextRef="c15" decimals="-3" id="ixv-16485" unitRef="usd">38788000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense contextRef="c16" decimals="-3" id="ixv-16486" unitRef="usd">36114000</us-gaap:SellingExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c0" decimals="-3" id="ixv-16487" unitRef="usd">44006000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c15" decimals="-3" id="ixv-16488" unitRef="usd">42752000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c16" decimals="-3" id="ixv-16489" unitRef="usd">40551000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OtherOperatingIncomeExpenseNet contextRef="c15" decimals="-3" id="ixv-16490" unitRef="usd">5000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet contextRef="c16" decimals="-3" id="ixv-16491" unitRef="usd">36000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OperatingExpenses contextRef="c0" decimals="-3" id="ixv-16492" unitRef="usd">82761000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c15" decimals="-3" id="ixv-16493" unitRef="usd">81535000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c16" decimals="-3" id="ixv-16494" unitRef="usd">76629000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss contextRef="c0" decimals="-3" id="ixv-16495" unitRef="usd">31654000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c15" decimals="-3" id="ixv-16496" unitRef="usd">52084000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c16" decimals="-3" id="ixv-16497" unitRef="usd">103456000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="c0" decimals="-3" id="ixv-16498" unitRef="usd">857000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="c15" decimals="-3" id="ixv-16499" unitRef="usd">658000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="c16" decimals="-3" id="ixv-16500" unitRef="usd">837000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:InvestmentIncomeInterest contextRef="c0" decimals="-3" id="ixv-16501" unitRef="usd">4885000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c15" decimals="-3" id="ixv-16502" unitRef="usd">5465000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c16" decimals="-3" id="ixv-16503" unitRef="usd">2552000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InterestExpenseNonoperating contextRef="c0" decimals="-3" id="ixv-16504" unitRef="usd">102000</us-gaap:InterestExpenseNonoperating>
    <us-gaap:InterestExpenseNonoperating contextRef="c15" decimals="-3" id="ixv-16505" unitRef="usd">205000</us-gaap:InterestExpenseNonoperating>
    <us-gaap:InterestExpenseNonoperating contextRef="c16" decimals="-3" id="ixv-16506" unitRef="usd">256000</us-gaap:InterestExpenseNonoperating>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c0" decimals="-3" id="ixv-16507" unitRef="usd">481000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c15" decimals="-3" id="ixv-16508" unitRef="usd">822000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c16" decimals="-3" id="ixv-16509" unitRef="usd">1690000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense contextRef="c0" decimals="-3" id="ixv-16510" unitRef="usd">6121000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense contextRef="c15" decimals="-3" id="ixv-16511" unitRef="usd">6740000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense contextRef="c16" decimals="-3" id="ixv-16512" unitRef="usd">4823000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c0" decimals="-3" id="ixv-16513" unitRef="usd">37775000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c15" decimals="-3" id="ixv-16514" unitRef="usd">58824000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c16" decimals="-3" id="ixv-16515" unitRef="usd">108279000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-16516" unitRef="usd">7212000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-16517" unitRef="usd">10609000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-16518" unitRef="usd">19947000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss contextRef="c0" decimals="-3" id="ixv-16519" unitRef="usd">30563000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c15" decimals="-3" id="ixv-16520" unitRef="usd">48215000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c16" decimals="-3" id="ixv-16521" unitRef="usd">88332000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c0"
      decimals="2"
      id="ixv-16522"
      unitRef="usdPershares">1.79</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c15"
      decimals="2"
      id="ixv-16523"
      unitRef="usdPershares">2.73</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c16"
      decimals="2"
      id="ixv-16524"
      unitRef="usdPershares">5</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c0"
      decimals="2"
      id="ixv-16525"
      unitRef="usdPershares">1.77</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c15"
      decimals="2"
      id="ixv-16526"
      unitRef="usdPershares">2.71</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c16"
      decimals="2"
      id="ixv-16527"
      unitRef="usdPershares">4.96</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c0"
      decimals="0"
      id="ixv-16528"
      unitRef="shares">17088205</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c15"
      decimals="0"
      id="ixv-16529"
      unitRef="shares">17676955</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c16"
      decimals="0"
      id="ixv-16530"
      unitRef="shares">17648850</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c0"
      decimals="0"
      id="ixv-16531"
      unitRef="shares">17270101</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c15"
      decimals="0"
      id="ixv-16532"
      unitRef="shares">17811218</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c16"
      decimals="0"
      id="ixv-16533"
      unitRef="shares">17793348</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="c0"
      decimals="2"
      id="ixv-16534"
      unitRef="usdPershares">0.69</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="c15"
      decimals="2"
      id="ixv-16535"
      unitRef="usdPershares">6.27</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="c16"
      decimals="2"
      id="ixv-16536"
      unitRef="usdPershares">2.42</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:StockholdersEquity contextRef="c17" decimals="-3" id="ixv-16537" unitRef="usd">24306000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c18" decimals="-3" id="ixv-16538" unitRef="usd">46847000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c19" decimals="-3" id="ixv-16539" unitRef="usd">438098000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c20" decimals="-3" id="ixv-16540" unitRef="usd">-145590000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c21" decimals="-3" id="ixv-16541" unitRef="usd">363661000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c22" decimals="-3" id="ixv-16542" unitRef="usd">88332000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c16" decimals="-3" id="ixv-16543" unitRef="usd">88332000</us-gaap:NetIncomeLoss>
    <us-gaap:DividendsCommonStock contextRef="c22" decimals="-3" id="ixv-16544" unitRef="usd">42718000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock contextRef="c16" decimals="-3" id="ixv-16545" unitRef="usd">42718000</us-gaap:DividendsCommonStock>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c23" decimals="-3" id="ixv-16546" unitRef="usd">1671000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c16" decimals="-3" id="ixv-16547" unitRef="usd">1671000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c23" decimals="-3" id="ixv-16548" unitRef="usd">-3371000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c16" decimals="-3" id="ixv-16549" unitRef="usd">-3371000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c24" decimals="-3" id="ixv-16550" unitRef="usd">72000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c23" decimals="-3" id="ixv-16551" unitRef="usd">-72000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <rgr:DividendsCommonStockUnpaid contextRef="c22" decimals="-3" id="ixv-16552" unitRef="usd">90615000</rgr:DividendsCommonStockUnpaid>
    <rgr:DividendsCommonStockUnpaid contextRef="c16" decimals="-3" id="ixv-16553" unitRef="usd">90615000</rgr:DividendsCommonStockUnpaid>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c16"
      decimals="INF"
      id="ixv-16554"
      unitRef="shares">4440</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c25" decimals="-3" id="ixv-16555" unitRef="usd">222000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c16" decimals="-3" id="ixv-16556" unitRef="usd">222000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockholdersEquity contextRef="c26" decimals="-3" id="ixv-16557" unitRef="usd">24378000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c27" decimals="-3" id="ixv-16558" unitRef="usd">45075000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c28" decimals="-3" id="ixv-16559" unitRef="usd">393097000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c29" decimals="-3" id="ixv-16560" unitRef="usd">-145812000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c30" decimals="-3" id="ixv-16561" unitRef="usd">316738000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c31" decimals="-3" id="ixv-16562" unitRef="usd">48215000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c15" decimals="-3" id="ixv-16563" unitRef="usd">48215000</us-gaap:NetIncomeLoss>
    <us-gaap:DividendsCommonStock contextRef="c31" decimals="-3" id="ixv-16564" unitRef="usd">22446000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock contextRef="c15" decimals="-3" id="ixv-16565" unitRef="usd">22446000</us-gaap:DividendsCommonStock>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c32" decimals="-3" id="ixv-16566" unitRef="usd">3989000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c15" decimals="-3" id="ixv-16567" unitRef="usd">3989000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c32" decimals="-3" id="ixv-16568" unitRef="usd">-2156000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c15" decimals="-3" id="ixv-16569" unitRef="usd">-2156000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c33" decimals="-3" id="ixv-16570" unitRef="usd">59000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c32" decimals="-3" id="ixv-16571" unitRef="usd">-59000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <rgr:DividendsCommonStockUnpaid contextRef="c31" decimals="-3" id="ixv-16572" unitRef="usd">808000</rgr:DividendsCommonStockUnpaid>
    <rgr:DividendsCommonStockUnpaid contextRef="c15" decimals="-3" id="ixv-16573" unitRef="usd">808000</rgr:DividendsCommonStockUnpaid>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c15"
      decimals="INF"
      id="ixv-16574"
      unitRef="shares">264062</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c34" decimals="-3" id="ixv-16575" unitRef="usd">11811000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c15" decimals="-3" id="ixv-16576" unitRef="usd">11811000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockholdersEquity contextRef="c35" decimals="-3" id="ixv-16577" unitRef="usd">24437000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c36" decimals="-3" id="ixv-16578" unitRef="usd">46849000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c37" decimals="-3" id="ixv-16579" unitRef="usd">418058000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c38" decimals="-3" id="ixv-16580" unitRef="usd">-157623000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c4" decimals="-3" id="ixv-16581" unitRef="usd">331721000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c39" decimals="-3" id="ixv-16582" unitRef="usd">30563000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c0" decimals="-3" id="ixv-16583" unitRef="usd">30563000</us-gaap:NetIncomeLoss>
    <us-gaap:DividendsCommonStock contextRef="c39" decimals="-3" id="ixv-16584" unitRef="usd">11829000</us-gaap:DividendsCommonStock>
    <us-gaap:DividendsCommonStock contextRef="c0" decimals="-3" id="ixv-16585" unitRef="usd">11829000</us-gaap:DividendsCommonStock>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c40" decimals="-3" id="ixv-16586" unitRef="usd">4342000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c0" decimals="-3" id="ixv-16587" unitRef="usd">4342000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c40" decimals="-3" id="ixv-16588" unitRef="usd">-624000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c0" decimals="-3" id="ixv-16589" unitRef="usd">-624000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c41" decimals="-3" id="ixv-16590" unitRef="usd">31000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c40" decimals="-3" id="ixv-16591" unitRef="usd">-31000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <rgr:DividendsCommonStockUnpaid contextRef="c39" decimals="-3" id="ixv-16592" unitRef="usd">183000</rgr:DividendsCommonStockUnpaid>
    <rgr:DividendsCommonStockUnpaid contextRef="c0" decimals="-3" id="ixv-16593" unitRef="usd">183000</rgr:DividendsCommonStockUnpaid>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c0"
      decimals="INF"
      id="ixv-16594"
      unitRef="shares">835060</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c42" decimals="-3" id="ixv-16595" unitRef="usd">34408000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c0" decimals="-3" id="ixv-16596" unitRef="usd">34408000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockholdersEquity contextRef="c43" decimals="-3" id="ixv-16597" unitRef="usd">24468000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c44" decimals="-3" id="ixv-16598" unitRef="usd">50536000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c45" decimals="-3" id="ixv-16599" unitRef="usd">436609000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c46" decimals="-3" id="ixv-16600" unitRef="usd">-192031000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c3" decimals="-3" id="ixv-16601" unitRef="usd">319582000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c0" decimals="-3" id="ixv-16602" unitRef="usd">30563000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c15" decimals="-3" id="ixv-16603" unitRef="usd">48215000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c16" decimals="-3" id="ixv-16604" unitRef="usd">88332000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c0" decimals="-3" id="ixv-16605" unitRef="usd">22063000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c15" decimals="-3" id="ixv-16606" unitRef="usd">22383000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c16" decimals="-3" id="ixv-16607" unitRef="usd">25789000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation contextRef="c0" decimals="-3" id="ixv-16608" unitRef="usd">4342000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c15" decimals="-3" id="ixv-16609" unitRef="usd">3989000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c16" decimals="-3" id="ixv-16610" unitRef="usd">1671000</us-gaap:ShareBasedCompensation>
    <rgr:ExcessAndObsolescenceInventoryReserve contextRef="c0" decimals="-3" id="ixv-16611" unitRef="usd">-413000</rgr:ExcessAndObsolescenceInventoryReserve>
    <rgr:ExcessAndObsolescenceInventoryReserve contextRef="c15" decimals="-3" id="ixv-16612" unitRef="usd">-1308000</rgr:ExcessAndObsolescenceInventoryReserve>
    <rgr:ExcessAndObsolescenceInventoryReserve contextRef="c16" decimals="-3" id="ixv-16613" unitRef="usd">-501000</rgr:ExcessAndObsolescenceInventoryReserve>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c15" decimals="-3" id="ixv-16614" unitRef="usd">5000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="c16" decimals="-3" id="ixv-16615" unitRef="usd">36000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:DeferredOtherTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-16616" unitRef="usd">-4705000</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:DeferredOtherTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-16617" unitRef="usd">-5867000</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:DeferredOtherTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-16618" unitRef="usd">-5573000</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c0" decimals="-3" id="ixv-16619" unitRef="usd">7281000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c15" decimals="-3" id="ixv-16620" unitRef="usd">-5585000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c16" decimals="-3" id="ixv-16621" unitRef="usd">8413000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c0" decimals="-3" id="ixv-16622" unitRef="usd">-2911000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c15" decimals="-3" id="ixv-16623" unitRef="usd">16125000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c16" decimals="-3" id="ixv-16624" unitRef="usd">21644000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities contextRef="c0" decimals="-3" id="ixv-16625" unitRef="usd">3789000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities contextRef="c15" decimals="-3" id="ixv-16626" unitRef="usd">-4406000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities contextRef="c16" decimals="-3" id="ixv-16627" unitRef="usd">-640000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c0" decimals="-3" id="ixv-16628" unitRef="usd">-149000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c15" decimals="-3" id="ixv-16629" unitRef="usd">-882000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c16" decimals="-3" id="ixv-16630" unitRef="usd">1031000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="c0" decimals="-3" id="ixv-16631" unitRef="usd">-5869000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="c15" decimals="-3" id="ixv-16632" unitRef="usd">-6469000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities contextRef="c16" decimals="-3" id="ixv-16633" unitRef="usd">-3420000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <rgr:IncreaseDecreaseInProductLiability contextRef="c0" decimals="-3" id="ixv-16634" unitRef="usd">-188000</rgr:IncreaseDecreaseInProductLiability>
    <rgr:IncreaseDecreaseInProductLiability contextRef="c15" decimals="-3" id="ixv-16635" unitRef="usd">372000</rgr:IncreaseDecreaseInProductLiability>
    <rgr:IncreaseDecreaseInProductLiability contextRef="c16" decimals="-3" id="ixv-16636" unitRef="usd">-584000</rgr:IncreaseDecreaseInProductLiability>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c0" decimals="-3" id="ixv-16637" unitRef="usd">-9615000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c15" decimals="-3" id="ixv-16638" unitRef="usd">13026000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c16" decimals="-3" id="ixv-16639" unitRef="usd">954000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable contextRef="c15" decimals="-3" id="ixv-16640" unitRef="usd">-1171000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable contextRef="c16" decimals="-3" id="ixv-16641" unitRef="usd">1171000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c0" decimals="-3" id="ixv-16642" unitRef="usd">55504000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c15" decimals="-3" id="ixv-16643" unitRef="usd">33901000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c16" decimals="-3" id="ixv-16644" unitRef="usd">77231000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c0" decimals="-3" id="ixv-16645" unitRef="usd">20821000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c15" decimals="-3" id="ixv-16646" unitRef="usd">15796000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c16" decimals="-3" id="ixv-16647" unitRef="usd">27730000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireInvestments contextRef="c0" decimals="-3" id="ixv-16648" unitRef="usd">138885000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments contextRef="c15" decimals="-3" id="ixv-16649" unitRef="usd">192627000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments contextRef="c16" decimals="-3" id="ixv-16650" unitRef="usd">365480000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="c0" decimals="-3" id="ixv-16651" unitRef="usd">145917000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="c15" decimals="-3" id="ixv-16652" unitRef="usd">249274000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="c16" decimals="-3" id="ixv-16653" unitRef="usd">406319000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleOfProductiveAssets contextRef="c15" decimals="-3" id="ixv-16654" unitRef="usd">5000</us-gaap:ProceedsFromSaleOfProductiveAssets>
    <us-gaap:ProceedsFromSaleOfProductiveAssets contextRef="c16" decimals="-3" id="ixv-16655" unitRef="usd">100000</us-gaap:ProceedsFromSaleOfProductiveAssets>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c0" decimals="-3" id="ixv-16656" unitRef="usd">-13789000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c15" decimals="-3" id="ixv-16657" unitRef="usd">40856000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c16" decimals="-3" id="ixv-16658" unitRef="usd">13209000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsOfDividends contextRef="c0" decimals="-3" id="ixv-16659" unitRef="usd">11829000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends contextRef="c15" decimals="-3" id="ixv-16660" unitRef="usd">110789000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends contextRef="c16" decimals="-3" id="ixv-16661" unitRef="usd">42718000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c0" decimals="-3" id="ixv-16662" unitRef="usd">34408000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c15" decimals="-3" id="ixv-16663" unitRef="usd">11811000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c16" decimals="-3" id="ixv-16664" unitRef="usd">222000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c0" decimals="-3" id="ixv-16665" unitRef="usd">624000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c15" decimals="-3" id="ixv-16666" unitRef="usd">2156000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c16" decimals="-3" id="ixv-16667" unitRef="usd">3371000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c0" decimals="-3" id="ixv-16668" unitRef="usd">-46861000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c15" decimals="-3" id="ixv-16669" unitRef="usd">-124756000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c16" decimals="-3" id="ixv-16670" unitRef="usd">-46311000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect contextRef="c0" decimals="-3" id="ixv-16671" unitRef="usd">-5146000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect contextRef="c15" decimals="-3" id="ixv-16672" unitRef="usd">-49999000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect contextRef="c16" decimals="-3" id="ixv-16673" unitRef="usd">44129000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c4" decimals="-3" id="ixv-16674" unitRef="usd">15174000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c30" decimals="-3" id="ixv-16675" unitRef="usd">65173000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c21" decimals="-3" id="ixv-16676" unitRef="usd">21044000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c3" decimals="-3" id="ixv-16677" unitRef="usd">10028000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c4" decimals="-3" id="ixv-16678" unitRef="usd">15174000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c30" decimals="-3" id="ixv-16679" unitRef="usd">65173000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="c0" id="ixv-10663">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;1. Summary of Significant Accounting Policies&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Organization&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.25in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Sturm, Ruger &amp;amp; Company, Inc. (the &#x201c;Company&#x201d;)
is principally engaged in the design, manufacture, and sale of firearms to domestic customers. Approximately 99% of sales were from firearms.
Export sales represented approximately 5% of firearms sales. The Company&#x2019;s design and manufacturing operations are located in the
United States and almost all product content is domestic. The Company&#x2019;s firearms are sold through a select number of independent
wholesale distributors principally to the commercial sporting market.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company manufactures investment castings made
from steel alloys and metal injection molding (&#x201c;MIM&#x201d;) parts for internal use in its firearms and utilizes available capacity
to manufacture and sell investment castings and MIM parts to unaffiliated, third-party customers. Castings were less than 1% of the Company&#x2019;s
total sales for the year ended December 31, 2024.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Preparation
of Financial Statements&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company follows United States generally accepted
accounting principles (&#x201c;GAAP&#x201d;). The preparation of financial statements in conformity with GAAP requires management to make
estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent liabilities at the date
of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ
from these estimates.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The significant accounting policies described
below, together with the notes that follow, are an integral part of the consolidated financial statements.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Principles
of Consolidation&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The consolidated financial statements include
the accounts of the Company and its wholly owned subsidiaries. All significant intercompany accounts and transactions have been eliminated.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Revenue Recognition&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company recognizes revenue in accordance with
the provisions of Accounting Standards Codification Topic 606, Revenue from Contracts with Customers (&#x201c;ASC 606&#x201d;), which became
effective January 1, 2018. Substantially all product sales are sold FOB (free on board) shipping point. Customary payment terms are 2%
30 days, net 40 days. Generally, all performance obligations are satisfied when product is shipped and the customer takes ownership and
assumes the risk of loss. In some instances, sales include multiple performance obligations. The most common of these instances relates
to sales promotion programs under which downstream customers are entitled to receive no charge products based on their purchases of certain
of the Company&#x2019;s products from the independent distributors. The fulfillment of these no charge products &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;is the Company&#x2019;s
responsibility. In such instances, the Company allocates the revenue of the promotional sales based on the estimated level of participation
in the sales promotional program and the timing of the shipment of all of the firearms included in the promotional program, including
the no charge firearms. Revenue is recognized proportionally as each performance obligation is satisfied, based on the relative customary
price of each product. Customary prices are generally determined based on the prices charged to the independent distributors. The net
change in contract liabilities for a given period is reported as an increase or decrease to sales. The Company accounts for cash sales
discounts as a reduction in sales. Amounts billed to customers for shipping and handling fees are included in net sales and costs incurred
by the Company for the delivery of goods are classified as selling expenses. Federal excise taxes are excluded from net sales.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Cash and
Cash Equivalents&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.25in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company considers interest-bearing deposits
with financial institutions with remaining maturities of three months or less at the time of acquisition to be cash equivalents.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Fair Value
Measurements of Short-term Investments&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Fair value is defined as the price that would
be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants in the principal or
most advantageous market at the measurement date. Fair value is established according to a hierarchy that prioritizes observable and unobservable
inputs used to measure fair value into three broad levels, which are described below:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Level 1: Unadjusted quoted prices in
active markets that are accessible at the measurement date for assets or liabilities. The fair value hierarchy gives the highest priority
to Level 1 inputs.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Level 2: Observable prices that are
based on inputs not quoted on active markets, but corroborated by market data.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Level 3: Unobservable inputs are used
when little or no market data is available. Level 3 inputs are given the lowest priority in the fair value hierarchy.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The asset or liability&#x2019;s fair value measurement
level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation
techniques used need to maximize the use of observable inputs and minimize the use of unobservable inputs.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;As
of December 31, 2024, the Company&#x2019;s short-term investments consist of U.S. Treasury instruments (Level 1), maturing within one year,
and &lt;/span&gt;investments in a bank-managed money market fund that invests exclusively in United States Treasury obligations and is valued
at the net asset value ("NAV") daily closing price, as reported by the fund, based on the amortized cost of the fund&#x2019;s
securities (Level 2)&lt;span style="font-family: Times New Roman, Times, Serif"&gt;. For the bank-managed money market fund, t&lt;/span&gt;he NAV
is used as a practical expedient to estimate fair value. This practical expedient is not used when it is determined to be probable that
the fund will sell the investment for an amount different than the reported NAV&lt;span style="font-family: Times New Roman, Times, Serif"&gt;.
Such securities are classified as held to maturity, since the Company has the intent and ability to do so, and are carried at cost plus
accrued interest, which approximates fair value.&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The fair value of inventory acquired as part of
business combination is based on a third-party valuation utilizing the comparable sales method which is based on Level 2 and Level 3 inputs.
The fair value of property, plant and equipment acquired as part of business combination is based on a third-party valuation utilizing
the indirect method of cost approach, which is based on Level 2 and Level 3 inputs. The fair value of patents acquired as part of business
combination is based on a third-party valuation utilizing the replacement cost method, which is based on Level 2 and Level 3 inputs. The
fair value of the remaining intangible assets as part of business combination are based on a third-party valuation utilizing discounted
cash flow methods that involves inputs, which are not observable in the market (Level 3).&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="text-decoration:underline"&gt;Accounts Receivable&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company establishes an allowance for doubtful
accounts based on the creditworthiness of its customers and historical experience. While the Company uses the best information available
to make its evaluation, future adjustments to the allowance for doubtful accounts may be necessary if there are significant changes in
economic and industry conditions or any other factors considered in the Company&#x2019;s evaluation. Bad debt expense has been immaterial
during each of the last three years. The Company mitigates its credit risk by maintaining credit insurance on most of its significant
customers.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Inventories&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Substantially all of the Company&#x2019;s inventories
are valued at the lower of cost, principally determined by the last-in, first-out (LIFO) method, or net realizable value. Elements of
cost in inventories include raw materials, direct labor and manufacturing overhead.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Property,
Plant and Equipment&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Property, plant and equipment are carried at cost.
Depreciation is computed over useful lives using the straight-line and declining balance methods predominately over 15 years for buildings,
7 years for machinery and equipment and 3 years for tools and dies. When assets are retired, sold or otherwise disposed of, their gross
carrying values and related accumulated depreciation are removed from the accounts and a gain or loss on such disposals is recognized
when appropriate.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Maintenance and repairs are charged to operations;
replacements and improvements are capitalized.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.25in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Long-lived Assets&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company evaluates the carrying value of long-lived
assets to be held and used when events or changes in circumstances indicate the carrying value may not be recoverable. In performing this
review, the carrying value of the assets is compared to the projected undiscounted cash flows to be generated from the assets. If the
sum of the undiscounted expected future cash flows is less than the carrying value of the assets, the assets are considered to be impaired.
Impairment losses are measured as the amount by which the carrying value of the assets exceeds their fair value. The Company bases fair
value of the assets on quoted market prices if available or, if not available, quoted market prices of similar assets. Where quoted market
prices are not available, the Company &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;estimates fair value using the estimated future cash flows generated by the assets discounted at
a rate commensurate with the risks associated with the recovery of the assets. As of December 31, 2024, the Company does not believe there
are any indications of impairment related to long-lived assets.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="text-decoration:underline"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company&#x2019;s goodwill represents the excess
of the purchase price of business combinations over the fair value of the net assets acquired. We assess goodwill for impairment on an
annual basis during the fourth quarter of each year, and between annual tests whenever events or changes in circumstances indicate that
the carrying amount may not be recoverable. An impairment exists by the amount the fair value of a reporting unit to which goodwill has
been allocated is less than their respective carrying values. The impairment for goodwill is limited to the total amount of goodwill allocated
to the reporting unit. Goodwill impairment testing requires significant judgment and management estimates, including, but not limited
to, the determination of (i)&#160;the number of reporting units, (ii)&#160;the goodwill and other assets and liabilities to be allocated
to the reporting units and (iii)&#160;the fair values of the reporting units. The estimates and assumptions described above, along with
other factors such as discount rates, will significantly affect the outcome of the impairment tests and the amounts of any resulting impairment
losses. As of December 31, 2024, the Company does not believe there are any indications of impairment related to goodwill.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Income Taxes&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.25in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Income taxes are accounted for using the asset
and liability method. Under this method, deferred income taxes are recognized for the tax consequences of &#x201c;temporary differences&#x201d;
by applying enacted statutory rates applicable to future years to temporary differences between the financial statement carrying amounts
and the tax basis of the Company&#x2019;s assets and liabilities.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Product Liability&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company provides for product liability claims
including estimated legal costs to be incurred defending such claims. The provision for product liability claims is charged to cost of
products sold.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Advertising Costs&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.25in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company includes advertising costs in selling
expenses and these costs are expensed as incurred. Advertising costs for 2024, 2023, and 2022, were $3.4 million, $3.1 million, and $2.4
million, respectively.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Shipping
Costs&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.25in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Costs incurred related to the shipment of products
are included in selling expense. Such costs totaled $4.3 million, $4.4 million, and $4.7 million in 2024, 2023, and 2022, respectively.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Research and Development&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2024, 2023, and 2022, the Company spent approximately
$8.2 million, $9.8 million, and $9.6 million, respectively, on research and development activities relating to new products and the improvement
of existing products. These costs are included in costs of products sold and are expensed as incurred. These costs are capitalized for
tax purposes under the provisions of the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174, as discussed in Note 13.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Earnings per Share&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Basic earnings per share is based upon the weighted-average
number of shares of common stock outstanding during the year. Diluted earnings per share reflect the impact of restricted stock units
and deferred stock outstanding using the treasury stock method.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In November of 2023, the FASB issued ASU 2023-07,
&#x201c;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#x201d; The updated accounting guidance requires
enhanced reportable segment disclosures, primarily related to significant segment expenses which are regularly provided to the chief operating
decision maker. The guidance is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning
after December 15, 2024. The Company adopted ASU 2023-07, beginning with the current filing. The adoption of the new guidance required
additional disclosures, but did not have a material impact to the Company. Refer to Note 17, Operating Segment Information, for the updated
presentation.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In December of 2023, the FASB issued ASU 2023-09,
&#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#x201d; The updated accounting guidance requires expanded income
tax disclosures, including the disaggregation of existing disclosures related to the effective tax rate reconciliation and income taxes
paid. The guidance is effective for fiscal years beginning after December 15, 2024. Prospective application is required, with retrospective
application permitted. The Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In November 2024, the FASB issued ASU No. 2024-03,
&#x201c;Income Statement&#x2014;Reporting Comprehensive Income&#x2014;Expense Disaggregation Disclosures,&#x201d; which requires additional
disclosure of certain costs and expenses within the notes to the financial statements. The updated standard is effective for annual reporting
periods beginning after December 15, 2026 and interim reporting periods within annual reporting periods beginning after December 15,
2027. The requirements will be applied prospectively with the option for retrospective application. Early adoption is permitted. The
Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.&lt;/p&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <rgr:OrganizationPolicyTextBlock contextRef="c0" id="ixv-10668">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Organization&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Sturm, Ruger &amp;amp; Company, Inc. (the &#x201c;Company&#x201d;)
is principally engaged in the design, manufacture, and sale of firearms to domestic customers. Approximately 99% of sales were from firearms.
Export sales represented approximately 5% of firearms sales. The Company&#x2019;s design and manufacturing operations are located in the
United States and almost all product content is domestic. The Company&#x2019;s firearms are sold through a select number of independent
wholesale distributors principally to the commercial sporting market.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company manufactures investment castings made
from steel alloys and metal injection molding (&#x201c;MIM&#x201d;) parts for internal use in its firearms and utilizes available capacity
to manufacture and sell investment castings and MIM parts to unaffiliated, third-party customers. Castings were less than 1% of the Company&#x2019;s
total sales for the year ended December 31, 2024.&lt;/p&gt;</rgr:OrganizationPolicyTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c47"
      decimals="INF"
      id="ixv-16680"
      unitRef="pure">0.99</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c48" decimals="2" id="ixv-16681" unitRef="pure">0.05</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c49" decimals="2" id="ixv-16682" unitRef="pure">0.01</us-gaap:ConcentrationRiskPercentage1>
    <rgr:PreparationOfFinancialStatementsPolicyTextBlock contextRef="c0" id="ixv-10678">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Preparation
of Financial Statements&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company follows United States generally accepted
accounting principles (&#x201c;GAAP&#x201d;). The preparation of financial statements in conformity with GAAP requires management to make
estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent liabilities at the date
of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ
from these estimates.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The significant accounting policies described
below, together with the notes that follow, are an integral part of the consolidated financial statements.&lt;/p&gt;</rgr:PreparationOfFinancialStatementsPolicyTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="c0" id="ixv-10690">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Principles
of Consolidation&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The consolidated financial statements include
the accounts of the Company and its wholly owned subsidiaries. All significant intercompany accounts and transactions have been eliminated.&lt;/p&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:RevenueRecognitionPolicyTextBlock contextRef="c0" id="ixv-10699">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Revenue Recognition&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company recognizes revenue in accordance with
the provisions of Accounting Standards Codification Topic 606, Revenue from Contracts with Customers (&#x201c;ASC 606&#x201d;), which became
effective January 1, 2018. Substantially all product sales are sold FOB (free on board) shipping point. Customary payment terms are 2%
30 days, net 40 days. Generally, all performance obligations are satisfied when product is shipped and the customer takes ownership and
assumes the risk of loss. In some instances, sales include multiple performance obligations. The most common of these instances relates
to sales promotion programs under which downstream customers are entitled to receive no charge products based on their purchases of certain
of the Company&#x2019;s products from the independent distributors. The fulfillment of these no charge products &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;is the Company&#x2019;s
responsibility. In such instances, the Company allocates the revenue of the promotional sales based on the estimated level of participation
in the sales promotional program and the timing of the shipment of all of the firearms included in the promotional program, including
the no charge firearms. Revenue is recognized proportionally as each performance obligation is satisfied, based on the relative customary
price of each product. Customary prices are generally determined based on the prices charged to the independent distributors. The net
change in contract liabilities for a given period is reported as an increase or decrease to sales. The Company accounts for cash sales
discounts as a reduction in sales. Amounts billed to customers for shipping and handling fees are included in net sales and costs incurred
by the Company for the delivery of goods are classified as selling expenses. Federal excise taxes are excluded from net sales.&lt;/p&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:SharebasedCompensationEffectOnEarningsPerShare contextRef="c0" id="ixv-16683">Customary payment terms are 2%
30 days</us-gaap:SharebasedCompensationEffectOnEarningsPerShare>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="c0" id="ixv-10719">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Cash and
Cash Equivalents&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company considers interest-bearing deposits
with financial institutions with remaining maturities of three months or less at the time of acquisition to be cash equivalents.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock contextRef="c0" id="ixv-10727">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Fair Value
Measurements of Short-term Investments&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Fair value is defined as the price that would
be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants in the principal or
most advantageous market at the measurement date. Fair value is established according to a hierarchy that prioritizes observable and unobservable
inputs used to measure fair value into three broad levels, which are described below:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Level 1: Unadjusted quoted prices in
active markets that are accessible at the measurement date for assets or liabilities. The fair value hierarchy gives the highest priority
to Level 1 inputs.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Level 2: Observable prices that are
based on inputs not quoted on active markets, but corroborated by market data.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Level 3: Unobservable inputs are used
when little or no market data is available. Level 3 inputs are given the lowest priority in the fair value hierarchy.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The asset or liability&#x2019;s fair value measurement
level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation
techniques used need to maximize the use of observable inputs and minimize the use of unobservable inputs.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;As
of December 31, 2024, the Company&#x2019;s short-term investments consist of U.S. Treasury instruments (Level 1), maturing within one year,
and &lt;/span&gt;investments in a bank-managed money market fund that invests exclusively in United States Treasury obligations and is valued
at the net asset value ("NAV") daily closing price, as reported by the fund, based on the amortized cost of the fund&#x2019;s
securities (Level 2)&lt;span style="font-family: Times New Roman, Times, Serif"&gt;. For the bank-managed money market fund, t&lt;/span&gt;he NAV
is used as a practical expedient to estimate fair value. This practical expedient is not used when it is determined to be probable that
the fund will sell the investment for an amount different than the reported NAV&lt;span style="font-family: Times New Roman, Times, Serif"&gt;.
Such securities are classified as held to maturity, since the Company has the intent and ability to do so, and are carried at cost plus
accrued interest, which approximates fair value.&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The fair value of inventory acquired as part of
business combination is based on a third-party valuation utilizing the comparable sales method which is based on Level 2 and Level 3 inputs.
The fair value of property, plant and equipment acquired as part of business combination is based on a third-party valuation utilizing
the indirect method of cost approach, which is based on Level 2 and Level 3 inputs. The fair value of patents acquired as part of business
combination is based on a third-party valuation utilizing the replacement cost method, which is based on Level 2 and Level 3 inputs. The
fair value of the remaining intangible assets as part of business combination are based on a third-party valuation utilizing discounted
cash flow methods that involves inputs, which are not observable in the market (Level 3).&lt;/p&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy contextRef="c0" id="ixv-10769">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="text-decoration:underline"&gt;Accounts Receivable&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company establishes an allowance for doubtful
accounts based on the creditworthiness of its customers and historical experience. While the Company uses the best information available
to make its evaluation, future adjustments to the allowance for doubtful accounts may be necessary if there are significant changes in
economic and industry conditions or any other factors considered in the Company&#x2019;s evaluation. Bad debt expense has been immaterial
during each of the last three years. The Company mitigates its credit risk by maintaining credit insurance on most of its significant
customers.&lt;/p&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <rgr:BadDebtExpenseInTerm contextRef="c0" id="ixv-16684">P3Y</rgr:BadDebtExpenseInTerm>
    <us-gaap:InventoryPolicyTextBlock contextRef="c0" id="ixv-10776">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Inventories&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Substantially all of the Company&#x2019;s inventories
are valued at the lower of cost, principally determined by the last-in, first-out (LIFO) method, or net realizable value. Elements of
cost in inventories include raw materials, direct labor and manufacturing overhead.&lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="c0" id="ixv-10784">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Property,
Plant and Equipment&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Property, plant and equipment are carried at cost.
Depreciation is computed over useful lives using the straight-line and declining balance methods predominately over 15 years for buildings,
7 years for machinery and equipment and 3 years for tools and dies. When assets are retired, sold or otherwise disposed of, their gross
carrying values and related accumulated depreciation are removed from the accounts and a gain or loss on such disposals is recognized
when appropriate.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Maintenance and repairs are charged to operations;
replacements and improvements are capitalized.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c50" id="ixv-16685">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c51" id="ixv-16686">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c52" id="ixv-16687">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="c0" id="ixv-10795">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Long-lived Assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company evaluates the carrying value of long-lived
assets to be held and used when events or changes in circumstances indicate the carrying value may not be recoverable. In performing this
review, the carrying value of the assets is compared to the projected undiscounted cash flows to be generated from the assets. If the
sum of the undiscounted expected future cash flows is less than the carrying value of the assets, the assets are considered to be impaired.
Impairment losses are measured as the amount by which the carrying value of the assets exceeds their fair value. The Company bases fair
value of the assets on quoted market prices if available or, if not available, quoted market prices of similar assets. Where quoted market
prices are not available, the Company &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;estimates fair value using the estimated future cash flows generated by the assets discounted at
a rate commensurate with the risks associated with the recovery of the assets. As of December 31, 2024, the Company does not believe there
are any indications of impairment related to long-lived assets.&lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy contextRef="c0" id="ixv-10815">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="text-decoration:underline"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company&#x2019;s goodwill represents the excess
of the purchase price of business combinations over the fair value of the net assets acquired. We assess goodwill for impairment on an
annual basis during the fourth quarter of each year, and between annual tests whenever events or changes in circumstances indicate that
the carrying amount may not be recoverable. An impairment exists by the amount the fair value of a reporting unit to which goodwill has
been allocated is less than their respective carrying values. The impairment for goodwill is limited to the total amount of goodwill allocated
to the reporting unit. Goodwill impairment testing requires significant judgment and management estimates, including, but not limited
to, the determination of (i)&#160;the number of reporting units, (ii)&#160;the goodwill and other assets and liabilities to be allocated
to the reporting units and (iii)&#160;the fair values of the reporting units. The estimates and assumptions described above, along with
other factors such as discount rates, will significantly affect the outcome of the impairment tests and the amounts of any resulting impairment
losses. As of December 31, 2024, the Company does not believe there are any indications of impairment related to goodwill.&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="c0" id="ixv-10822">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Income Taxes&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Income taxes are accounted for using the asset
and liability method. Under this method, deferred income taxes are recognized for the tax consequences of &#x201c;temporary differences&#x201d;
by applying enacted statutory rates applicable to future years to temporary differences between the financial statement carrying amounts
and the tax basis of the Company&#x2019;s assets and liabilities.&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:LiabilityReserveEstimatePolicy contextRef="c0" id="ixv-10830">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Product Liability&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company provides for product liability claims
including estimated legal costs to be incurred defending such claims. The provision for product liability claims is charged to cost of
products sold.&lt;/p&gt;</us-gaap:LiabilityReserveEstimatePolicy>
    <us-gaap:AdvertisingCostsPolicyTextBlock contextRef="c0" id="ixv-10838">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Advertising Costs&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company includes advertising costs in selling
expenses and these costs are expensed as incurred. Advertising costs for 2024, 2023, and 2022, were $3.4 million, $3.1 million, and $2.4
million, respectively.&lt;/p&gt;</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense contextRef="c0" decimals="-5" id="ixv-16688" unitRef="usd">3400000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense contextRef="c15" decimals="-5" id="ixv-16689" unitRef="usd">3100000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense contextRef="c16" decimals="-5" id="ixv-16690" unitRef="usd">2400000</us-gaap:AdvertisingExpense>
    <rgr:ShippingCostPolicyPolicyTextBlock contextRef="c0" id="ixv-10845">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="text-decoration:underline"&gt;Shipping
Costs&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Costs incurred related to the shipment of products
are included in selling expense. Such costs totaled $4.3 million, $4.4 million, and $4.7 million in 2024, 2023, and 2022, respectively.&lt;/p&gt;</rgr:ShippingCostPolicyPolicyTextBlock>
    <rgr:ShippingCosts contextRef="c0" decimals="-5" id="ixv-16691" unitRef="usd">4300000</rgr:ShippingCosts>
    <rgr:ShippingCosts contextRef="c15" decimals="-5" id="ixv-16692" unitRef="usd">4400000</rgr:ShippingCosts>
    <rgr:ShippingCosts contextRef="c16" decimals="-5" id="ixv-16693" unitRef="usd">4700000</rgr:ShippingCosts>
    <us-gaap:ResearchAndDevelopmentExpensePolicy contextRef="c0" id="ixv-10866">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Research and Development&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2024, 2023, and 2022, the Company spent approximately
$8.2 million, $9.8 million, and $9.6 million, respectively, on research and development activities relating to new products and the improvement
of existing products. These costs are included in costs of products sold and are expensed as incurred. These costs are capitalized for
tax purposes under the provisions of the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174, as discussed in Note 13.&lt;/p&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c0" decimals="-5" id="ixv-16694" unitRef="usd">8200000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c15" decimals="-5" id="ixv-16695" unitRef="usd">9800000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c16" decimals="-5" id="ixv-16696" unitRef="usd">9600000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="c0" id="ixv-10873">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Earnings per Share&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Basic earnings per share is based upon the weighted-average
number of shares of common stock outstanding during the year. Diluted earnings per share reflect the impact of restricted stock units
and deferred stock outstanding using the treasury stock method.&lt;/p&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="c0" id="ixv-10880">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In November of 2023, the FASB issued ASU 2023-07,
&#x201c;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#x201d; The updated accounting guidance requires
enhanced reportable segment disclosures, primarily related to significant segment expenses which are regularly provided to the chief operating
decision maker. The guidance is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning
after December 15, 2024. The Company adopted ASU 2023-07, beginning with the current filing. The adoption of the new guidance required
additional disclosures, but did not have a material impact to the Company. Refer to Note 17, Operating Segment Information, for the updated
presentation.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In December of 2023, the FASB issued ASU 2023-09,
&#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures.&#x201d; The updated accounting guidance requires expanded income
tax disclosures, including the disaggregation of existing disclosures related to the effective tax rate reconciliation and income taxes
paid. The guidance is effective for fiscal years beginning after December 15, 2024. Prospective application is required, with retrospective
application permitted. The Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In November 2024, the FASB issued ASU No. 2024-03,
&#x201c;Income Statement&#x2014;Reporting Comprehensive Income&#x2014;Expense Disaggregation Disclosures,&#x201d; which requires additional
disclosure of certain costs and expenses within the notes to the financial statements. The updated standard is effective for annual reporting
periods beginning after December 15, 2026 and interim reporting periods within annual reporting periods beginning after December 15,
2027. The requirements will be applied prospectively with the option for retrospective application. Early adoption is permitted. The
Company is currently evaluating the effect the updated guidance will have on its financial statement disclosures.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="c0" id="ixv-10906">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;2. Revenue Recognition and Contracts with Customers&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The impact of ASC 60&lt;span style="font-family: Times New Roman, Times, Serif"&gt;6
on revenue recognized during the years ended December 31, 2024, December 31, 2023, and&lt;/span&gt; December 31, 2022 is as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%; text-align: left; text-indent: -0.3in; padding-left: 0.3in"&gt;Contract liabilities with customers at January 1,&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;149&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,031&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-18"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0pt"&gt;Revenue recognized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(149&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(4,084&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-19"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 0.3in"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Revenue deferred&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-20"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,202&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,031&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left; text-indent: -0.3in; padding-left: 0.3in"&gt;Contract liabilities with customers at December 31,&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-21"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;149&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,031&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During the year ended December 31, 2024, the Company
did not defer any revenue and recognized $0.1 million of revenue previously deferred as the performance obligations relating to the shipment
of free products were satisfied. This resulted in a net increase in firearms sales for the year ended December 31, 2024 of $0.1 million
and there being &lt;span style="-sec-ix-hidden: hidden-fact-22"&gt;no&lt;/span&gt; deferred contract revenue liability at December 31, 2024.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During the year ended December 31, 2023, the Company
deferred $3.2 million of revenue, offset by the recognition of $4.1 million of revenue previously deferred as the performance obligations
relating to the shipment of free products were satisfied. This resulted in a net increase in firearms sales for the year ended December
31, 2023 of $0.9 million and a deferred contract revenue liability at December 31, 2023 of $0.1 million.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During the year ended December 31, 2022, the Company
deferred $1.0 million of revenue. There was no offset for the recognition from previously deferred revenue as the Company did not satisfy
any performance obligations relating to the shipment of free products during the year. This resulted in a net decrease in firearms sales
for the year ended December 31, 2022 of $1.0 million and a deferred contract revenue liability at December 31, 2022 of $1.0 million.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Practical Expedients and Exemptions&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company has elected to account for shipping
and handling activities that occur after control of the related product transfers to the customer as fulfillment activities that are
recognized upon shipment of the goods.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="c0" id="ixv-10910">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The impact of ASC 60&lt;span style="font-family: Times New Roman, Times, Serif"&gt;6
on revenue recognized during the years ended December 31, 2024, December 31, 2023, and&lt;/span&gt; December 31, 2022 is as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%; text-align: left; text-indent: -0.3in; padding-left: 0.3in"&gt;Contract liabilities with customers at January 1,&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;149&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,031&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-18"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0pt"&gt;Revenue recognized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(149&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(4,084&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-19"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 0.3in"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Revenue deferred&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-20"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,202&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,031&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: -0.3in; padding-left: 0.3in"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left; text-indent: -0.3in; padding-left: 0.3in"&gt;Contract liabilities with customers at December 31,&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-21"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;149&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,031&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerLiability contextRef="c4" decimals="-3" id="ixv-16697" unitRef="usd">149000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c30" decimals="-3" id="ixv-16698" unitRef="usd">1031000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:DeferredIncomeRevenueRecognized contextRef="c0" decimals="-3" id="ixv-16699" unitRef="usd">149000</us-gaap:DeferredIncomeRevenueRecognized>
    <us-gaap:DeferredIncomeRevenueRecognized contextRef="c15" decimals="-3" id="ixv-16700" unitRef="usd">4084000</us-gaap:DeferredIncomeRevenueRecognized>
    <us-gaap:DeferredRevenueAdditions contextRef="c15" decimals="-3" id="ixv-16701" unitRef="usd">3202000</us-gaap:DeferredRevenueAdditions>
    <us-gaap:DeferredRevenueAdditions contextRef="c16" decimals="-3" id="ixv-16702" unitRef="usd">1031000</us-gaap:DeferredRevenueAdditions>
    <us-gaap:ContractWithCustomerLiability contextRef="c4" decimals="-3" id="ixv-16703" unitRef="usd">149000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c30" decimals="-3" id="ixv-16704" unitRef="usd">1031000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="c3" decimals="-5" id="ixv-16705" unitRef="usd">100000</us-gaap:RevenueRemainingPerformanceObligation>
    <rgr:NetIncreaseInFirearmsSales contextRef="c3" decimals="-5" id="ixv-16706" unitRef="usd">100000</rgr:NetIncreaseInFirearmsSales>
    <rgr:DeferredOfRevenue contextRef="c15" decimals="-5" id="ixv-16707" unitRef="usd">3200000</rgr:DeferredOfRevenue>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="c4" decimals="-5" id="ixv-16708" unitRef="usd">4100000</us-gaap:RevenueRemainingPerformanceObligation>
    <rgr:NetIncreaseInFirearmsSales contextRef="c4" decimals="-5" id="ixv-16709" unitRef="usd">900000</rgr:NetIncreaseInFirearmsSales>
    <rgr:DeferredContractRevenueLiability contextRef="c4" decimals="-5" id="ixv-16710" unitRef="usd">100000</rgr:DeferredContractRevenueLiability>
    <rgr:DeferredOfRevenue contextRef="c16" decimals="-5" id="ixv-16711" unitRef="usd">1000000</rgr:DeferredOfRevenue>
    <rgr:NetDecreaseInFirearmsSales contextRef="c30" decimals="-5" id="ixv-16712" unitRef="usd">1000000</rgr:NetDecreaseInFirearmsSales>
    <rgr:DeferredContractRevenueLiability contextRef="c30" decimals="-5" id="ixv-16713" unitRef="usd">1000000</rgr:DeferredContractRevenueLiability>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock contextRef="c0" id="ixv-11054">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;3. Trade Receivables, Net&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Trade receivables consist of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Trade receivables&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;68,855&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;61,428&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Allowance for doubtful accounts&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(400&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(400&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Allowance for discounts&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,310&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,164&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;67,145&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;59,864&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2024, the largest individual trade receivable
balances accounted for 26%, 20%, 14%, and 11% of total trade receivables, respectively.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2023, the largest individual trade receivable
balances accounted for 22%, 20%, and 17% of total trade receivables, respectively.&lt;/p&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock contextRef="c0" id="ixv-11058">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Trade receivables consist of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Trade receivables&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;68,855&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;61,428&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Allowance for doubtful accounts&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(400&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(400&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Allowance for discounts&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,310&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,164&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;67,145&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;59,864&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="c3" decimals="-3" id="ixv-16714" unitRef="usd">68855000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="c4" decimals="-3" id="ixv-16715" unitRef="usd">61428000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c3" decimals="-3" id="ixv-16716" unitRef="usd">400000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c4" decimals="-3" id="ixv-16717" unitRef="usd">400000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <rgr:AllowanceForDiscountssAccountsReceivableCurrent contextRef="c3" decimals="-3" id="ixv-16718" unitRef="usd">1310000</rgr:AllowanceForDiscountssAccountsReceivableCurrent>
    <rgr:AllowanceForDiscountssAccountsReceivableCurrent contextRef="c4" decimals="-3" id="ixv-16719" unitRef="usd">1164000</rgr:AllowanceForDiscountssAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c3" decimals="-3" id="ixv-16720" unitRef="usd">67145000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c4" decimals="-3" id="ixv-16721" unitRef="usd">59864000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c53" decimals="2" id="ixv-16722" unitRef="pure">0.26</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c54" decimals="2" id="ixv-16723" unitRef="pure">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c55" decimals="2" id="ixv-16724" unitRef="pure">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c56" decimals="2" id="ixv-16725" unitRef="pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c57" decimals="2" id="ixv-16726" unitRef="pure">0.22</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c58" decimals="2" id="ixv-16727" unitRef="pure">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c59" decimals="2" id="ixv-16728" unitRef="pure">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:InventoryDisclosureTextBlock contextRef="c0" id="ixv-11125">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;4. Inventories&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Inventories consist of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;2024&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;Inventory at FIFO&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left; padding-left: 21.8pt"&gt;Finished goods&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;26,022&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;30,989&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 21.8pt"&gt;Materials and products in process&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;123,395&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;119,203&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gross inventories&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;149,417&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;150,192&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 21.8pt"&gt;Less:&#160;&#160;LIFO reserve&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(66,398&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(64,262&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 21.8pt"&gt;Less:&#160;&#160;excess and obsolescence reserve&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(6,533&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(6,120&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Net inventories&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;76,486&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;79,810&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="c0" id="ixv-11129">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Inventories consist of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;2024&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-weight: normal"&gt;Inventory at FIFO&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left; padding-left: 21.8pt"&gt;Finished goods&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;26,022&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;30,989&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 21.8pt"&gt;Materials and products in process&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;123,395&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;119,203&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gross inventories&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;149,417&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;150,192&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 21.8pt"&gt;Less:&#160;&#160;LIFO reserve&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(66,398&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(64,262&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left; padding-left: 21.8pt"&gt;Less:&#160;&#160;excess and obsolescence reserve&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(6,533&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(6,120&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Net inventories&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;76,486&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;79,810&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoods contextRef="c3" decimals="-3" id="ixv-16729" unitRef="usd">26022000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods contextRef="c4" decimals="-3" id="ixv-16730" unitRef="usd">30989000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryWorkInProcessAndRawMaterials contextRef="c3" decimals="-3" id="ixv-16731" unitRef="usd">123395000</us-gaap:InventoryWorkInProcessAndRawMaterials>
    <us-gaap:InventoryWorkInProcessAndRawMaterials contextRef="c4" decimals="-3" id="ixv-16732" unitRef="usd">119203000</us-gaap:InventoryWorkInProcessAndRawMaterials>
    <us-gaap:InventoryGross contextRef="c3" decimals="-3" id="ixv-16733" unitRef="usd">149417000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross contextRef="c4" decimals="-3" id="ixv-16734" unitRef="usd">150192000</us-gaap:InventoryGross>
    <us-gaap:InventoryLIFOReserve contextRef="c3" decimals="-3" id="ixv-16735" unitRef="usd">66398000</us-gaap:InventoryLIFOReserve>
    <us-gaap:InventoryLIFOReserve contextRef="c4" decimals="-3" id="ixv-16736" unitRef="usd">64262000</us-gaap:InventoryLIFOReserve>
    <us-gaap:InventoryValuationReserves contextRef="c3" decimals="-3" id="ixv-16737" unitRef="usd">6533000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="c4" decimals="-3" id="ixv-16738" unitRef="usd">6120000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet contextRef="c3" decimals="-3" id="ixv-16739" unitRef="usd">76486000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c4" decimals="-3" id="ixv-16740" unitRef="usd">79810000</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="c0" id="ixv-11218">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;5. Property, Plant and Equipment&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Property, plant and equipment consist of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Land and improvements&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;2,826&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;2,826&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;76,153&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;74,650&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Machinery and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;333,365&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;322,730&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Dies and tools&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;65,278&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;62,191&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Property, plant and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;477,622&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;462,397&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Less allowances for depreciation&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(406,373&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(390,863&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Net property, plant and equipment&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;71,249&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;71,534&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Depreciation expense totaled $21.1 million, $21.1
million, and $24.4 million in 2024, 2023, and 2022, respectively.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="c0" id="ixv-11222">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Property, plant and equipment consist of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Land and improvements&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;2,826&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;2,826&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;76,153&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;74,650&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Machinery and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;333,365&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;322,730&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Dies and tools&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;65,278&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;62,191&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Property, plant and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;477,622&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;462,397&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Less allowances for depreciation&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(406,373&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(390,863&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Net property, plant and equipment&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;71,249&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;71,534&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c60" decimals="-3" id="ixv-16741" unitRef="usd">2826000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c61" decimals="-3" id="ixv-16742" unitRef="usd">2826000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c62" decimals="-3" id="ixv-16743" unitRef="usd">76153000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c63" decimals="-3" id="ixv-16744" unitRef="usd">74650000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c51" decimals="-3" id="ixv-16745" unitRef="usd">333365000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c64" decimals="-3" id="ixv-16746" unitRef="usd">322730000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c52" decimals="-3" id="ixv-16747" unitRef="usd">65278000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c65" decimals="-3" id="ixv-16748" unitRef="usd">62191000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c3" decimals="-3" id="ixv-16749" unitRef="usd">477622000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c4" decimals="-3" id="ixv-16750" unitRef="usd">462397000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c3" decimals="-3" id="ixv-16751" unitRef="usd">406373000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c4" decimals="-3" id="ixv-16752" unitRef="usd">390863000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c3" decimals="-3" id="ixv-16753" unitRef="usd">71249000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c4" decimals="-3" id="ixv-16754" unitRef="usd">71534000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation contextRef="c0" decimals="-5" id="ixv-16755" unitRef="usd">21100000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c15" decimals="-5" id="ixv-16756" unitRef="usd">21100000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c16" decimals="-5" id="ixv-16757" unitRef="usd">24400000</us-gaap:Depreciation>
    <us-gaap:OtherAssetsDisclosureTextBlock contextRef="c0" id="ixv-11332">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;6. Other Assets&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Other assets consist of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Patents, at cost&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;10,339&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;10,280&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deposits on capital items&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;18,443&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;23,045&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Marlin trade name, at cost&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,800&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,800&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Accumulated amortization&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(8,008&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(7,171&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;9,173&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;9,958&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;37,747&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;43,912&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The capitalized cost of patents is amortized using
the straight-line method over their useful lives. Expenses related to patent amortization was $0.5 million in 2024, $0.4 million in 2023,
and $0.4 million in 2022. The estimated annual patent amortization expense for each of the next five years is $0.4 million. Costs incurred
to maintain existing patents are charged to expense in the year incurred. The Marlin trade name will be amortized using the straight-line
method over its useful life. The estimated annual trade name amortization cost for each of the next five years is $0.4 million. The intangible
asset related to Marlin customer relationships are included in Other above and will be amortized using the straight-line method over its
useful life. The estimated annual customer relationship name amortization expense for each of the next five years is $0.1 million.&lt;/p&gt;</us-gaap:OtherAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfOtherAssetsTableTextBlock contextRef="c0" id="ixv-11336">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Other assets consist of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Patents, at cost&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;10,339&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;10,280&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deposits on capital items&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;18,443&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;23,045&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Marlin trade name, at cost&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,800&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,800&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Accumulated amortization&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(8,008&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(7,171&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;9,173&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;9,958&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;37,747&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;43,912&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfOtherAssetsTableTextBlock>
    <us-gaap:FiniteLivedPatentsGross contextRef="c3" decimals="-3" id="ixv-16758" unitRef="usd">10339000</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:FiniteLivedPatentsGross contextRef="c4" decimals="-3" id="ixv-16759" unitRef="usd">10280000</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:DepositAssets contextRef="c3" decimals="-3" id="ixv-16760" unitRef="usd">18443000</us-gaap:DepositAssets>
    <us-gaap:DepositAssets contextRef="c4" decimals="-3" id="ixv-16761" unitRef="usd">23045000</us-gaap:DepositAssets>
    <us-gaap:IndefiniteLivedTradeNames contextRef="c3" decimals="-3" id="ixv-16762" unitRef="usd">7800000</us-gaap:IndefiniteLivedTradeNames>
    <us-gaap:IndefiniteLivedTradeNames contextRef="c4" decimals="-3" id="ixv-16763" unitRef="usd">7800000</us-gaap:IndefiniteLivedTradeNames>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c3" decimals="-3" id="ixv-16764" unitRef="usd">8008000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c4" decimals="-3" id="ixv-16765" unitRef="usd">7171000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:OtherAssetsMiscellaneous contextRef="c3" decimals="-3" id="ixv-16766" unitRef="usd">9173000</us-gaap:OtherAssetsMiscellaneous>
    <us-gaap:OtherAssetsMiscellaneous contextRef="c4" decimals="-3" id="ixv-16767" unitRef="usd">9958000</us-gaap:OtherAssetsMiscellaneous>
    <us-gaap:OtherAssetsNoncurrent contextRef="c3" decimals="-3" id="ixv-16768" unitRef="usd">37747000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c4" decimals="-3" id="ixv-16769" unitRef="usd">43912000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c0" decimals="-5" id="ixv-16770" unitRef="usd">500000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c15" decimals="-5" id="ixv-16771" unitRef="usd">400000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c16" decimals="-5" id="ixv-16772" unitRef="usd">400000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive contextRef="c3" decimals="-5" id="ixv-16773" unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="c66" decimals="-5" id="ixv-16774" unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="c66" decimals="-5" id="ixv-16775" unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="c66" decimals="-5" id="ixv-16776" unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="c66" decimals="-5" id="ixv-16777" unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="c66" decimals="-5" id="ixv-16778" unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="c67" decimals="-5" id="ixv-16779" unitRef="usd">100000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="c67" decimals="-5" id="ixv-16780" unitRef="usd">100000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="c67" decimals="-5" id="ixv-16781" unitRef="usd">100000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="c67" decimals="-5" id="ixv-16782" unitRef="usd">100000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="c67" decimals="-5" id="ixv-16783" unitRef="usd">100000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="c0" id="ixv-11421">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;7. Leased Assets&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company leases certain of its real estate
and equipment. The Company has evaluated all its leases and determined that all are operating leases under the definitions of the guidance
of ASU 2016-02. The Company&#x2019;s lease agreements generally do not require material variable lease payments, residual value guarantees
or restrictive covenants.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company uses the effective interest method
to record right-of-use assets equal to the present value of the contractual liability for future lease payments. The table below presents
the right-of-use assets and related lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2024:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt; &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;Balance Sheet Line&lt;br/&gt; Item&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;December 31,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 49%; text-align: left"&gt;Right-of-use assets&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 20%; text-align: center"&gt;Other assets&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;2,345&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;2,781&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 0pt"&gt;Operating lease liabilities&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="vertical-align: top; text-align: left; padding-left: 18.55pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: center; text-indent: 5.3pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="vertical-align: top; text-align: left; padding-left: 18.55pt"&gt;Current portion&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: center; text-indent: 5.3pt"&gt;Trade accounts payable and accrued expenses&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;598&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;611&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="vertical-align: top; text-align: left; padding-left: 18.55pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: center; text-indent: 5.3pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 18.55pt"&gt;Noncurrent portion&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: center; text-indent: 5.3pt"&gt;Lease liabilities&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,747&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,170&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="border-bottom: Black 1pt solid; padding-left: 18.55pt"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;Total operating lease liabilities&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,345&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,781&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The depreciable lives of right-of-use assets are
limited by the lease term and are amortized on a straight line basis over the life of the lease.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company&#x2019;s leases generally do not provide
an implicit interest rate, and therefore the Company calculates an incremental borrowing rate to determine the present value of its operating
lease liabilities.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;The table below includes cash
paid for our operating lease liabilities, other non-cash information, our weighted average remaining lease term and weighted average discount
rate:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt; &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; padding-left: 0pt; white-space: nowrap; text-indent: 0pt"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt; &lt;td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;Year Ended&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt; &lt;td style="font: bold 8pt Times New Roman, Times, Serif; padding-left: 0pt; white-space: nowrap; border-bottom: Black 1pt solid; text-indent: 0pt"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="padding-left: 0pt; white-space: nowrap; text-indent: 0pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-indent: 0pt; width: 74%; text-align: left; padding-left: 0pt"&gt;Cash paid for amounts included in the measurement of lease liabilities &lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;796&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;796&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: 0pt; text-align: left; padding-left: 0pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; text-indent: 0pt; padding-left: 0pt"&gt;Cash amounts paid for short-term leases&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;449&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;565&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: 0pt; padding-left: 0pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-indent: 0pt; text-align: left; padding-left: 0pt"&gt;Right-of-use assets obtained in exchange for lease liabilities&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: hidden-fact-23"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: hidden-fact-24"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: 0pt; padding-left: 0pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; text-indent: 0pt; padding-left: 0pt"&gt;Weighted average remaining lease term (years)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7.7&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7.9&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: 0pt; padding-left: 0pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="border-bottom: Black 1pt solid; text-indent: 0pt; padding-left: 0pt"&gt;Weighted average discount rate&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8.0%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5.0%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt;&lt;p style="margin: 0pt 0; font: 10pt Times New Roman, Times, Serif"&gt;The following table reconciles the undiscounted future minimum lease
payments to the total operating lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2024:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 87%; text-align: left; padding-left: 30pt"&gt;2025&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;765&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30pt"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;771&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30pt"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;295&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30pt"&gt;2028&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;160&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30pt"&gt;2029&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;160&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 30pt; vertical-align: bottom"&gt;Thereafter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;800&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30pt"&gt;Total undiscounted future minimum lease payments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,951&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-bottom: 1pt; text-indent: -22.5pt; padding-left: 53.25pt"&gt;Less: Difference between undiscounted lease payments &amp;amp; the present value of future lease payments&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(606&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-bottom: 2.5pt; padding-left: 30pt"&gt;Total operating lease liabilities&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,345&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Certain of the Company&#x2019;s lease agreements
contain renewal options at the Company&#x2019;s discretion. The Company does not recognize right-of-use assets or lease liabilities for
leases of one year or less or for renewal periods unless it is reasonably certain that the Company will exercise the renewal option at
the inception of the lease or when a triggering event occurs. The Company&#x2019;s weighted average remaining lease term for operating
leases as of December 31, 2024 is 7.7 years.&lt;/p&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LeaseCostTableTextBlock contextRef="c0" id="ixv-11440">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company uses the effective interest method
to record right-of-use assets equal to the present value of the contractual liability for future lease payments. The table below presents
the right-of-use assets and related lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2024:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt; &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;Balance Sheet Line&lt;br/&gt; Item&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;December 31,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 49%; text-align: left"&gt;Right-of-use assets&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 20%; text-align: center"&gt;Other assets&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;2,345&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;2,781&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 0pt"&gt;Operating lease liabilities&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="vertical-align: top; text-align: left; padding-left: 18.55pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: center; text-indent: 5.3pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="vertical-align: top; text-align: left; padding-left: 18.55pt"&gt;Current portion&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: center; text-indent: 5.3pt"&gt;Trade accounts payable and accrued expenses&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;598&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;611&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="vertical-align: top; text-align: left; padding-left: 18.55pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: center; text-indent: 5.3pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 18.55pt"&gt;Noncurrent portion&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: center; text-indent: 5.3pt"&gt;Lease liabilities&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,747&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,170&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="border-bottom: Black 1pt solid; padding-left: 18.55pt"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;Total operating lease liabilities&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,345&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,781&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt;&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt; &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; padding-left: 0pt; white-space: nowrap; text-indent: 0pt"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt; &lt;td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;Year Ended&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt; &lt;td style="font: bold 8pt Times New Roman, Times, Serif; padding-left: 0pt; white-space: nowrap; border-bottom: Black 1pt solid; text-indent: 0pt"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="padding-left: 0pt; white-space: nowrap; text-indent: 0pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td colspan="2" style="white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-indent: 0pt; width: 74%; text-align: left; padding-left: 0pt"&gt;Cash paid for amounts included in the measurement of lease liabilities &lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;796&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;796&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: 0pt; text-align: left; padding-left: 0pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; text-indent: 0pt; padding-left: 0pt"&gt;Cash amounts paid for short-term leases&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;449&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;565&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: 0pt; padding-left: 0pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-indent: 0pt; text-align: left; padding-left: 0pt"&gt;Right-of-use assets obtained in exchange for lease liabilities&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: hidden-fact-23"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: hidden-fact-24"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: 0pt; padding-left: 0pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; text-indent: 0pt; padding-left: 0pt"&gt;Weighted average remaining lease term (years)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7.7&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7.9&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: 0pt; padding-left: 0pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt; &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="border-bottom: Black 1pt solid; text-indent: 0pt; padding-left: 0pt"&gt;Weighted average discount rate&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8.0%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5.0%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c68" decimals="-3" id="ixv-16784" unitRef="usd">2345000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c69" decimals="-3" id="ixv-16785" unitRef="usd">2781000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c70" decimals="-3" id="ixv-16786" unitRef="usd">598000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c71" decimals="-3" id="ixv-16787" unitRef="usd">611000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c72" decimals="-3" id="ixv-16788" unitRef="usd">1747000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c73" decimals="-3" id="ixv-16789" unitRef="usd">2170000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability contextRef="c3" decimals="-3" id="ixv-16790" unitRef="usd">2345000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability contextRef="c4" decimals="-3" id="ixv-16791" unitRef="usd">2781000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeasePayments contextRef="c0" decimals="-3" id="ixv-16792" unitRef="usd">796000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments contextRef="c15" decimals="-3" id="ixv-16793" unitRef="usd">796000</us-gaap:OperatingLeasePayments>
    <us-gaap:ShortTermLeasePayments contextRef="c0" decimals="-3" id="ixv-16794" unitRef="usd">449000</us-gaap:ShortTermLeasePayments>
    <us-gaap:ShortTermLeasePayments contextRef="c15" decimals="-3" id="ixv-16795" unitRef="usd">565000</us-gaap:ShortTermLeasePayments>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c3" id="ixv-16796">P7Y8M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c4" id="ixv-16797">P7Y10M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c3" decimals="3" id="ixv-16798" unitRef="pure">0.08</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c4" decimals="3" id="ixv-16799" unitRef="pure">0.05</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="c0" id="ixv-11715">&lt;p style="margin: 0pt 0; font: 10pt Times New Roman, Times, Serif"&gt;The following table reconciles the undiscounted future minimum lease
payments to the total operating lease liabilities recognized on the condensed consolidated balance sheet as of December 31, 2024:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 87%; text-align: left; padding-left: 30pt"&gt;2025&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;765&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30pt"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;771&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30pt"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;295&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30pt"&gt;2028&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;160&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30pt"&gt;2029&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;160&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 30pt; vertical-align: bottom"&gt;Thereafter&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;800&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-left: 30pt"&gt;Total undiscounted future minimum lease payments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,951&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-bottom: 1pt; text-indent: -22.5pt; padding-left: 53.25pt"&gt;Less: Difference between undiscounted lease payments &amp;amp; the present value of future lease payments&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(606&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: left; padding-bottom: 2.5pt; padding-left: 30pt"&gt;Total operating lease liabilities&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,345&lt;/td&gt;&lt;td style="white-space: nowrap; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="c74" decimals="-3" id="ixv-16800" unitRef="usd">765000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="c74" decimals="-3" id="ixv-16801" unitRef="usd">771000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="c74" decimals="-3" id="ixv-16802" unitRef="usd">295000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="c74" decimals="-3" id="ixv-16803" unitRef="usd">160000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive contextRef="c74" decimals="-3" id="ixv-16804" unitRef="usd">160000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive contextRef="c74" decimals="-3" id="ixv-16805" unitRef="usd">800000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="c74" decimals="-3" id="ixv-16806" unitRef="usd">2951000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="c74" decimals="-3" id="ixv-16807" unitRef="usd">606000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability contextRef="c74" decimals="-3" id="ixv-16808" unitRef="usd">2345000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c3" id="ixv-16809">P7Y8M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock contextRef="c0" id="ixv-11778">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;8. Trade Accounts Payable and Accrued Expenses&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Trade accounts payable and accrued expenses consist
of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Trade accounts payable&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;13,170&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;11,100&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Federal excise taxes payable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;13,192&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,954&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Accrued other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;9,388&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8,654&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;35,750&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;31,708&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock contextRef="c0" id="ixv-11782">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Trade accounts payable and accrued expenses consist
of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap"&gt;December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; font-weight: bold; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 74%; text-align: left"&gt;Trade accounts payable&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;13,170&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;11,100&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Federal excise taxes payable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;13,192&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,954&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Accrued other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;9,388&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;8,654&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;35,750&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;31,708&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccountsPayableTradeCurrent contextRef="c3" decimals="-3" id="ixv-16810" unitRef="usd">13170000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent contextRef="c4" decimals="-3" id="ixv-16811" unitRef="usd">11100000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent contextRef="c3" decimals="-3" id="ixv-16812" unitRef="usd">13192000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent contextRef="c4" decimals="-3" id="ixv-16813" unitRef="usd">11954000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities contextRef="c3" decimals="-3" id="ixv-16814" unitRef="usd">9388000</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities contextRef="c4" decimals="-3" id="ixv-16815" unitRef="usd">8654000</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent contextRef="c3" decimals="-3" id="ixv-16816" unitRef="usd">35750000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent contextRef="c4" decimals="-3" id="ixv-16817" unitRef="usd">31708000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="c0" id="ixv-11846">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;9. Accrued Dividends&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On November 30, 2022, the Company&#x2019;s Board
of Directors declared a $5.00 per share special dividend payable on January 5, 2023 to stockholders of record as of December 15, 2022.
The dividend, which totaled $88.3 million, was paid on January 5, 2023.&lt;/p&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="c75"
      decimals="2"
      id="ixv-16818"
      unitRef="usdPershares">5</us-gaap:DividendsPayableAmountPerShare>
    <us-gaap:DividendsPayableDateOfRecordDayMonthAndYear contextRef="c76" id="ixv-16819">2022-12-15</us-gaap:DividendsPayableDateOfRecordDayMonthAndYear>
    <us-gaap:DividendsPayableCurrentAndNoncurrent contextRef="c77" decimals="-5" id="ixv-16820" unitRef="usd">88300000</us-gaap:DividendsPayableCurrentAndNoncurrent>
    <us-gaap:DividendPayableDateToBePaidDayMonthAndYear contextRef="c78" id="ixv-16821">2023-01-05</us-gaap:DividendPayableDateToBePaidDayMonthAndYear>
    <us-gaap:DebtDisclosureTextBlock contextRef="c0" id="ixv-11854">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;10. Line of Credit&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On January 7, 2022, the Company entered into a
three-year, $40 million unsecured revolving line of credit agreement with a bank. On June 6, 2024, the Company amended its existing line
of credit agreement, which now expires January 7, 2028. Borrowings under this new facility bear interest at the applicable Secured Overnight
Financing Rate (SOFR), plus 150 basis points, plus an additional adjustment of eight basis points. The Company is also charged one-quarter
of a percent &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;(0.25%) per year on the unused portion. At December 31, 2024, the Company was in compliance with the terms and covenants
of the credit facility.&lt;/p&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c79" decimals="-6" id="ixv-16822" unitRef="usd">40000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityExpirationDate1 contextRef="c80" id="ixv-16823">2028-01-07</us-gaap:LineOfCreditFacilityExpirationDate1>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage contextRef="c80" decimals="4" id="ixv-16824" unitRef="pure">0.0025</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock contextRef="c0" id="ixv-11873">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;11. Employee Benefit Plans&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company sponsors a qualified defined-contribution
401(k) plan that covers substantially all of its employees. Under the terms of the 401(k) plan, the Company matches a certain portion
of employee contributions to their individual 401(k) accounts using the &#x201c;safe harbor&#x201d; guidelines provided in the Internal
Revenue Code. Expenses related to matching employee contributions to the 401(k) plan were $4.1 million, $4.7 million, and $4.1 million
in 2024, 2023, and 2022, respectively.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Additionally, in 2024, 2023, and 2022 the Company
provided discretionary supplemental contributions to the individual 401(k) accounts of substantially all employees. Each employee received
a supplemental contribution to their account based on a uniform percentage of qualifying compensation established annually. The cost of
these supplemental contributions totaled $7.0 million, $6.9 million, and $7.4 million in 2024, 2023, and 2022, respectively.&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanAdministrativeExpenses contextRef="c0" decimals="-5" id="ixv-16825" unitRef="usd">4100000</us-gaap:DefinedContributionPlanAdministrativeExpenses>
    <us-gaap:DefinedContributionPlanAdministrativeExpenses contextRef="c15" decimals="-5" id="ixv-16826" unitRef="usd">4700000</us-gaap:DefinedContributionPlanAdministrativeExpenses>
    <us-gaap:DefinedContributionPlanAdministrativeExpenses contextRef="c16" decimals="-5" id="ixv-16827" unitRef="usd">4100000</us-gaap:DefinedContributionPlanAdministrativeExpenses>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="c0" decimals="-5" id="ixv-16828" unitRef="usd">7000000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="c15" decimals="-5" id="ixv-16829" unitRef="usd">6900000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="c16" decimals="-5" id="ixv-16830" unitRef="usd">7400000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock contextRef="c0" id="ixv-11884">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;12. Other Operating Income, Net&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Other operating income, net consists of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 61%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Gain on sale of operating assets&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-25"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;36&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock>
    <us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock contextRef="c0" id="ixv-11889">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Other operating income, net consists of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 61%"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;Gain on sale of operating assets&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-25"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;36&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock>
    <us-gaap:GainLossOnSaleOfOtherAssets contextRef="c15" decimals="-3" id="ixv-16831" unitRef="usd">5000</us-gaap:GainLossOnSaleOfOtherAssets>
    <us-gaap:GainLossOnSaleOfOtherAssets contextRef="c16" decimals="-3" id="ixv-16832" unitRef="usd">36000</us-gaap:GainLossOnSaleOfOtherAssets>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="c0" id="ixv-11937">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;13. Income Taxes &lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company files income tax returns in the U.S.
federal jurisdiction and various state jurisdictions. With few exceptions, the Company is no longer subject to U.S. federal and state
income tax examinations by tax authorities for years before 2017.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The federal and state income tax provision consisted of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;Current&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;Deferred&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;Current&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;Deferred&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;Current&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;Deferred&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 22%"&gt;Federal&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;10,310&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(4,190&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;14,763&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(5,285&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21,741&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(4,694&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;State&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,607&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(515&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,713&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(582&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,779&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(879&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,917&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(4,705&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;16,476&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5,867&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;25,520&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5,573&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The effective income tax rate varied from the statutory federal income
tax rate as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%; text-align: left; text-indent: -13.75pt; padding-left: 13.75pt"&gt;Statutory federal income tax rate&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: -13.75pt; padding-left: 13.75pt"&gt;State income taxes, net of federal tax benefit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.5&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2.2&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2.7&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Research and development tax credits&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(5.9&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(2.7&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(4.2&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2.5&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2.5&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1.1&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt"&gt;Effective income tax rate&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;19.1%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;18.0%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;18.4%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company estimates that its effective tax rate
in 2025 will approximate 20.3%.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Significant components of the Company&#x2019;s
deferred tax assets and liabilities are as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Deferred tax assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 74%; text-align: left; padding-left: 22.5pt"&gt;Capitalized research and development costs&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;12,566&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;9,144&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 22.5pt"&gt;Employee compensation and benefits&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,483&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,452&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 22.5pt"&gt;Allowances for doubtful accounts and discounts&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;452&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;431&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 22.5pt"&gt;Inventories&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,831&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,635&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 22.5pt"&gt;Stock-based compensation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,876&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,698&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 22.5pt"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,537&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,608&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Total deferred tax assets&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;20,745&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;16,968&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Deferred tax liabilities:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: -4.5pt; padding-left: 27pt"&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,868&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,578&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: -4.5pt; padding-left: 27pt"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,196&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,414&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Total deferred tax liabilities&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;4,064&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;4,992&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Net deferred tax assets&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;16,681&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,976&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2022, the Company adopted the provisions of
the Tax Cuts and Jobs Act of 2017 that relate to IRS Code Section 174. Under these provisions, research and development costs must be
capitalized and amortized over five years for income tax purposes. The Company continues to expense these costs in the period incurred
for financial accounting purposes.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company made income tax payments of approximately
$10.6 million, $26.0 million, and $28.7 million, during 2024, 2023, and 2022, respectively. The Company expects to realize its deferred
tax assets through tax deductions against future taxable income&lt;i&gt;. &lt;/i&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company does not believe it has included
any &#x201c;uncertain tax positions&#x201d; in its federal income tax return or any of the state income tax returns it is currently filing.
The Company has made an evaluation of the potential impact of additional state taxes being assessed by jurisdictions in which the Company
does not currently consider itself liable. The Company does not anticipate that such additional taxes, if any, would result in a material
change to its financial position.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:FederalIncomeTaxNoteTextBlock contextRef="c0" id="ixv-11944">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The federal and state income tax provision consisted of the following:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;Current&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;Deferred&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;Current&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;Deferred&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;Current&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right"&gt;Deferred&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font: 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 22%"&gt;Federal&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;10,310&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(4,190&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;14,763&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(5,285&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21,741&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(4,694&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;State&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,607&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(515&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,713&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(582&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,779&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(879&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,917&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(4,705&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;16,476&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5,867&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;25,520&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(5,573&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:FederalIncomeTaxNoteTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-16833" unitRef="usd">10310000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-16834" unitRef="usd">-4190000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-16835" unitRef="usd">14763000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-16836" unitRef="usd">-5285000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-16837" unitRef="usd">21741000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-16838" unitRef="usd">-4694000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-16839" unitRef="usd">1607000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-16840" unitRef="usd">-515000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-16841" unitRef="usd">1713000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-16842" unitRef="usd">-582000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-16843" unitRef="usd">3779000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-16844" unitRef="usd">-879000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-16845" unitRef="usd">11917000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c0" decimals="-3" id="ixv-16846" unitRef="usd">-4705000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-16847" unitRef="usd">16476000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c15" decimals="-3" id="ixv-16848" unitRef="usd">-5867000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-16849" unitRef="usd">25520000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c16" decimals="-3" id="ixv-16850" unitRef="usd">-5573000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="c0" id="ixv-12091">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The effective income tax rate varied from the statutory federal income
tax rate as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%; text-align: left; text-indent: -13.75pt; padding-left: 13.75pt"&gt;Statutory federal income tax rate&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;21.0%&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: -13.75pt; padding-left: 13.75pt"&gt;State income taxes, net of federal tax benefit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.5&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2.2&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2.7&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Research and development tax credits&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(5.9&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(2.7&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(4.2&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2.5&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2.5&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1.1&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -13.75pt; padding-left: 13.75pt"&gt;Effective income tax rate&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;19.1%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;18.0%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;18.4%&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c0" decimals="3" id="ixv-16851" unitRef="pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c15" decimals="3" id="ixv-16852" unitRef="pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="c16" decimals="3" id="ixv-16853" unitRef="pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="c0" decimals="3" id="ixv-16854" unitRef="pure">0.015</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="c15" decimals="3" id="ixv-16855" unitRef="pure">0.022</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="c16" decimals="3" id="ixv-16856" unitRef="pure">0.027</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch contextRef="c0" decimals="3" id="ixv-16857" unitRef="pure">0.059</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch contextRef="c15" decimals="3" id="ixv-16858" unitRef="pure">0.027</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch contextRef="c16" decimals="3" id="ixv-16859" unitRef="pure">0.042</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="c0" decimals="3" id="ixv-16860" unitRef="pure">0.025</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="c15" decimals="3" id="ixv-16861" unitRef="pure">-0.025</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="c16" decimals="3" id="ixv-16862" unitRef="pure">-0.011</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c0" decimals="3" id="ixv-16863" unitRef="pure">0.191</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c15" decimals="3" id="ixv-16864" unitRef="pure">0.18</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c16" decimals="3" id="ixv-16865" unitRef="pure">0.184</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c81" decimals="3" id="ixv-16866" unitRef="pure">0.203</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="c0" id="ixv-12180">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Significant components of the Company&#x2019;s
deferred tax assets and liabilities are as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Deferred tax assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 74%; text-align: left; padding-left: 22.5pt"&gt;Capitalized research and development costs&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;12,566&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;9,144&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 22.5pt"&gt;Employee compensation and benefits&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,483&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,452&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 22.5pt"&gt;Allowances for doubtful accounts and discounts&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;452&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;431&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 22.5pt"&gt;Inventories&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,831&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,635&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 22.5pt"&gt;Stock-based compensation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,876&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,698&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 22.5pt"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,537&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,608&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Total deferred tax assets&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;20,745&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;16,968&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Deferred tax liabilities:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: -4.5pt; padding-left: 27pt"&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,868&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,578&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: -4.5pt; padding-left: 27pt"&gt;Other&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,196&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,414&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Total deferred tax liabilities&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;4,064&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;4,992&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid"&gt;Net deferred tax assets&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;16,681&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;11,976&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment contextRef="c3" decimals="-3" id="ixv-16867" unitRef="usd">12566000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment contextRef="c4" decimals="-3" id="ixv-16868" unitRef="usd">9144000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation contextRef="c3" decimals="-3" id="ixv-16869" unitRef="usd">2483000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation contextRef="c4" decimals="-3" id="ixv-16870" unitRef="usd">2452000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="c3" decimals="-3" id="ixv-16871" unitRef="usd">452000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="c4" decimals="-3" id="ixv-16872" unitRef="usd">431000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsInventory contextRef="c3" decimals="-3" id="ixv-16873" unitRef="usd">1831000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory contextRef="c4" decimals="-3" id="ixv-16874" unitRef="usd">1635000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="c3" decimals="-3" id="ixv-16875" unitRef="usd">1876000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="c4" decimals="-3" id="ixv-16876" unitRef="usd">1698000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsOther contextRef="c3" decimals="-3" id="ixv-16877" unitRef="usd">1537000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther contextRef="c4" decimals="-3" id="ixv-16878" unitRef="usd">1608000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsNet contextRef="c3" decimals="-3" id="ixv-16879" unitRef="usd">20745000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet contextRef="c4" decimals="-3" id="ixv-16880" unitRef="usd">16968000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="c3" decimals="-3" id="ixv-16881" unitRef="usd">2868000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="c4" decimals="-3" id="ixv-16882" unitRef="usd">3578000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesOther contextRef="c3" decimals="-3" id="ixv-16883" unitRef="usd">1196000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther contextRef="c4" decimals="-3" id="ixv-16884" unitRef="usd">1414000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities contextRef="c3" decimals="-3" id="ixv-16885" unitRef="usd">4064000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities contextRef="c4" decimals="-3" id="ixv-16886" unitRef="usd">4992000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet contextRef="c3" decimals="-3" id="ixv-16887" unitRef="usd">16681000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet contextRef="c4" decimals="-3" id="ixv-16888" unitRef="usd">11976000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <rgr:CapitalizedAndAmortizedOverForIncomeTaxPurposes contextRef="c0" id="ixv-16889">P5Y</rgr:CapitalizedAndAmortizedOverForIncomeTaxPurposes>
    <us-gaap:IncomeTaxesPaidNet contextRef="c0" decimals="-5" id="ixv-16890" unitRef="usd">10600000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c15" decimals="-5" id="ixv-16891" unitRef="usd">26000000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c16" decimals="-5" id="ixv-16892" unitRef="usd">28700000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:EarningsPerShareTextBlock contextRef="c0" id="ixv-12350">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;14. Earnings Per Share&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Set forth below is a reconciliation of the numerator
and denominator for the basic and diluted earnings per share calculations for the periods indicated:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Numerator:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 61%; text-align: left; text-indent: 17.9pt; padding-left: 0.1pt"&gt;Net income&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;30,563&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;48,215&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;88,332&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Denominator:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: -9pt; padding-left: 27pt"&gt;Weighted average number of common shares outstanding &#x2013; Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,088,205&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,676,955&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,648,850&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -9pt; padding-left: 27pt"&gt;Dilutive effect of options and restricted stock units outstanding under the Company&#x2019;s employee compensation plans&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;181,896&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;134,263&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;144,498&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: -27pt; padding-left: 27pt"&gt;Weighted average number of common shares outstanding &#x2013; Diluted&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;17,270,101&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;17,811,218&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;17,793,348&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="c0" id="ixv-12354">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Set forth below is a reconciliation of the numerator
and denominator for the basic and diluted earnings per share calculations for the periods indicated:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Numerator:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 61%; text-align: left; text-indent: 17.9pt; padding-left: 0.1pt"&gt;Net income&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;30,563&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;48,215&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;88,332&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Denominator:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: -9pt; padding-left: 27pt"&gt;Weighted average number of common shares outstanding &#x2013; Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,088,205&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,676,955&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,648,850&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; border-bottom: Black 1pt solid; text-indent: -9pt; padding-left: 27pt"&gt;Dilutive effect of options and restricted stock units outstanding under the Company&#x2019;s employee compensation plans&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;181,896&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;134,263&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;144,498&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: -27pt; padding-left: 27pt"&gt;Weighted average number of common shares outstanding &#x2013; Diluted&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;17,270,101&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;17,811,218&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;17,793,348&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss contextRef="c0" decimals="-3" id="ixv-16893" unitRef="usd">30563000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c15" decimals="-3" id="ixv-16894" unitRef="usd">48215000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c16" decimals="-3" id="ixv-16895" unitRef="usd">88332000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c0"
      decimals="0"
      id="ixv-16896"
      unitRef="shares">17088205</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c15"
      decimals="0"
      id="ixv-16897"
      unitRef="shares">17676955</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c16"
      decimals="0"
      id="ixv-16898"
      unitRef="shares">17648850</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c0"
      decimals="0"
      id="ixv-16899"
      unitRef="shares">181896</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c15"
      decimals="0"
      id="ixv-16900"
      unitRef="shares">134263</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c16"
      decimals="0"
      id="ixv-16901"
      unitRef="shares">144498</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c0"
      decimals="0"
      id="ixv-16902"
      unitRef="shares">17270101</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c15"
      decimals="0"
      id="ixv-16903"
      unitRef="shares">17811218</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c16"
      decimals="0"
      id="ixv-16904"
      unitRef="shares">17793348</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <rgr:StockRepurchasesDisclosureTextBlock contextRef="c0" id="ixv-12469">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;15. Stock Repurchases&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2024, 2023, and 2022 the Company repurchased
shares of its common stock. Details of these purchases are as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold"&gt;
    &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid"&gt;Period&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Total &lt;br/&gt;
Number of &lt;br/&gt;
Shares &lt;br/&gt;
Purchased&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Average &lt;br/&gt;
Price Paid&lt;br/&gt;
 per Share&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Total Number &lt;br/&gt;
of Shares&lt;br/&gt;
 Purchased as &lt;br/&gt;
Part of &lt;br/&gt;
Publicly&lt;br/&gt;
 Announced&lt;br/&gt;
 Program&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Maximum &lt;br/&gt;
Dollar Value &lt;br/&gt;
of Shares that&lt;br/&gt;
 May Yet Be &lt;br/&gt;
Purchased &lt;br/&gt;
Under the&lt;br/&gt;
 Program&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold"&gt;
    &lt;td style="padding-left: 5.4pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 2.7pt"&gt;Third Quarter 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 16.2pt"&gt;July 3 to July 30&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-26"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-27"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-28"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 16.2pt"&gt;July 31 to August 27&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-29"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-30"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-31"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 48%; padding-left: 16.2pt"&gt;August 28 to October 1&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"&gt;2,136&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"&gt;49.97&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"&gt;2,136&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 2.7pt"&gt;Fourth Quarter 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 16.2pt"&gt;October 2 to October 29&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-32"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-33"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-34"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 16.2pt"&gt;October 30 to November 26&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,304&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;49.77&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,304&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 16.2pt"&gt;November 27 to December 31&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-35"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-36"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-37"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 2.7pt"&gt;Fourth Quarter 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 16.2pt"&gt;October 1 to October 28&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-38"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-39"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-40"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 16.2pt"&gt;October 29 to November 25&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;179,341&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;45.20&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;179,341&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 16.2pt"&gt;November 26 to December 31&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;84,721&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;43.67&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;84,721&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="vertical-align: bottom; background-color: White; font-size: 10pt"&gt;
    &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;First Quarter 2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 48%; padding-left: 0.3in"&gt;January 1 to January 27&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;7,317&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;43.42&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;7,317&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 0.3in"&gt;January 28 to February 24&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;20,307&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;42.93&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;20,307&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 0.3in"&gt;February 25 to March 30&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;47,400&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;42.79&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;47,400&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Second Quarter 2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 0.3in"&gt;March 31 to April 27&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-41"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-42"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-43"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 0.3in"&gt;April 28 to May 25&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;28,924&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;42.92&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;28,924&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 0.3in"&gt;May 26 to June 29&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;373,969&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;42.27&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;373,969&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Third Quarter 2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 0.3in"&gt;June 30 to July 27&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;156,517&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;41.27&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;156,517&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 0.3in"&gt;July 28 to August 24&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-44"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-45"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-46"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 0.3in"&gt;August 25 to September 28&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;64,325&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;40.66&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;64,325&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Fourth Quarter 2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 0.3in"&gt;September 29 to October 26&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,340&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;40.50&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,340&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 0.3in"&gt;October 27 to November 23&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;52,129&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;39.50&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;52,129&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 0.3in"&gt;November 23 to December 31&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;72,832&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;34.81&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;72,832&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;Total&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,103,562&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;42.07&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,103,562&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;40,290,000&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;All of these purchases were made with cash held
by the Company and no debt was incurred&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At December 31, 2024, approximately $40.3 million
remained authorized for share repurchases.&lt;/p&gt;</rgr:StockRepurchasesDisclosureTextBlock>
    <us-gaap:ScheduleOfTreasuryStockByClassTextBlock contextRef="c0" id="ixv-12473">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2024, 2023, and 2022 the Company repurchased
shares of its common stock. Details of these purchases are as follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="vertical-align: bottom; font-size: 8pt; font-weight: bold"&gt;
    &lt;td style="border-top: Black 1pt solid; white-space: nowrap; border-bottom: Black 1pt solid"&gt;Period&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Total &lt;br/&gt;
Number of &lt;br/&gt;
Shares &lt;br/&gt;
Purchased&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Average &lt;br/&gt;
Price Paid&lt;br/&gt;
 per Share&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Total Number &lt;br/&gt;
of Shares&lt;br/&gt;
 Purchased as &lt;br/&gt;
Part of &lt;br/&gt;
Publicly&lt;br/&gt;
 Announced&lt;br/&gt;
 Program&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="border-top: Black 1pt solid; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Maximum &lt;br/&gt;
Dollar Value &lt;br/&gt;
of Shares that&lt;br/&gt;
 May Yet Be &lt;br/&gt;
Purchased &lt;br/&gt;
Under the&lt;br/&gt;
 Program&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White; font-size: 8pt; font-weight: bold"&gt;
    &lt;td style="padding-left: 5.4pt"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 2.7pt"&gt;Third Quarter 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 16.2pt"&gt;July 3 to July 30&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-26"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-27"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-28"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 16.2pt"&gt;July 31 to August 27&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-29"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-30"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-31"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 48%; padding-left: 16.2pt"&gt;August 28 to October 1&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"&gt;2,136&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"&gt;49.97&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"&gt;2,136&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 2.7pt"&gt;Fourth Quarter 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 16.2pt"&gt;October 2 to October 29&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-32"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-33"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-34"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 16.2pt"&gt;October 30 to November 26&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,304&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;49.77&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,304&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 16.2pt"&gt;November 27 to December 31&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-35"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-36"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-37"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 2.7pt"&gt;Fourth Quarter 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 16.2pt"&gt;October 1 to October 28&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-38"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-39"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-40"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 16.2pt"&gt;October 29 to November 25&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;179,341&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;45.20&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;179,341&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 16.2pt"&gt;November 26 to December 31&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;84,721&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;43.67&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;84,721&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="vertical-align: bottom; background-color: White; font-size: 10pt"&gt;
    &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;First Quarter 2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-top: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 48%; padding-left: 0.3in"&gt;January 1 to January 27&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;7,317&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;43.42&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;7,317&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 0.3in"&gt;January 28 to February 24&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;20,307&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;42.93&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;20,307&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 0.3in"&gt;February 25 to March 30&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;47,400&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;42.79&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;47,400&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Second Quarter 2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 0.3in"&gt;March 31 to April 27&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-41"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-42"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-43"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 0.3in"&gt;April 28 to May 25&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;28,924&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;42.92&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;28,924&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 0.3in"&gt;May 26 to June 29&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;373,969&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;42.27&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;373,969&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Third Quarter 2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 0.3in"&gt;June 30 to July 27&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;156,517&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;41.27&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;156,517&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 0.3in"&gt;July 28 to August 24&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-44"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-45"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-46"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 0.3in"&gt;August 25 to September 28&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;64,325&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;40.66&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;64,325&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Fourth Quarter 2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 0.3in"&gt;September 29 to October 26&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,340&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;40.50&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,340&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 0.3in"&gt;October 27 to November 23&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;52,129&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;39.50&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;52,129&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 0.3in"&gt;November 23 to December 31&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;72,832&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;34.81&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;72,832&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;Total&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,103,562&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;42.07&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,103,562&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;40,290,000&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfTreasuryStockByClassTextBlock>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c86"
      decimals="0"
      id="ixv-16905"
      unitRef="shares">2136</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c86"
      decimals="2"
      id="ixv-16906"
      unitRef="usdPershares">49.97</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c87"
      decimals="INF"
      id="ixv-16907"
      unitRef="shares">2136</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c90"
      decimals="0"
      id="ixv-16908"
      unitRef="shares">2304</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c90"
      decimals="2"
      id="ixv-16909"
      unitRef="usdPershares">49.77</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c91"
      decimals="INF"
      id="ixv-16910"
      unitRef="shares">2304</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c96"
      decimals="0"
      id="ixv-16911"
      unitRef="shares">179341</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c96"
      decimals="2"
      id="ixv-16912"
      unitRef="usdPershares">45.2</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c97"
      decimals="INF"
      id="ixv-16913"
      unitRef="shares">179341</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c98"
      decimals="0"
      id="ixv-16914"
      unitRef="shares">84721</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c98"
      decimals="2"
      id="ixv-16915"
      unitRef="usdPershares">43.67</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c99"
      decimals="INF"
      id="ixv-16916"
      unitRef="shares">84721</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c100"
      decimals="0"
      id="ixv-16917"
      unitRef="shares">7317</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c100"
      decimals="2"
      id="ixv-16918"
      unitRef="usdPershares">43.42</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c101"
      decimals="INF"
      id="ixv-16919"
      unitRef="shares">7317</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c102"
      decimals="0"
      id="ixv-16920"
      unitRef="shares">20307</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c102"
      decimals="2"
      id="ixv-16921"
      unitRef="usdPershares">42.93</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c103"
      decimals="INF"
      id="ixv-16922"
      unitRef="shares">20307</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c104"
      decimals="0"
      id="ixv-16923"
      unitRef="shares">47400</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c104"
      decimals="2"
      id="ixv-16924"
      unitRef="usdPershares">42.79</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c105"
      decimals="INF"
      id="ixv-16925"
      unitRef="shares">47400</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c108"
      decimals="0"
      id="ixv-16926"
      unitRef="shares">28924</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c108"
      decimals="2"
      id="ixv-16927"
      unitRef="usdPershares">42.92</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c109"
      decimals="INF"
      id="ixv-16928"
      unitRef="shares">28924</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c110"
      decimals="0"
      id="ixv-16929"
      unitRef="shares">373969</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c110"
      decimals="2"
      id="ixv-16930"
      unitRef="usdPershares">42.27</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c111"
      decimals="INF"
      id="ixv-16931"
      unitRef="shares">373969</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c112"
      decimals="0"
      id="ixv-16932"
      unitRef="shares">156517</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c112"
      decimals="2"
      id="ixv-16933"
      unitRef="usdPershares">41.27</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c113"
      decimals="INF"
      id="ixv-16934"
      unitRef="shares">156517</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c116"
      decimals="0"
      id="ixv-16935"
      unitRef="shares">64325</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c116"
      decimals="2"
      id="ixv-16936"
      unitRef="usdPershares">40.66</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c117"
      decimals="INF"
      id="ixv-16937"
      unitRef="shares">64325</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c118"
      decimals="0"
      id="ixv-16938"
      unitRef="shares">11340</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c118"
      decimals="2"
      id="ixv-16939"
      unitRef="usdPershares">40.5</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c119"
      decimals="INF"
      id="ixv-16940"
      unitRef="shares">11340</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c120"
      decimals="0"
      id="ixv-16941"
      unitRef="shares">52129</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c120"
      decimals="2"
      id="ixv-16942"
      unitRef="usdPershares">39.5</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c121"
      decimals="INF"
      id="ixv-16943"
      unitRef="shares">52129</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c122"
      decimals="0"
      id="ixv-16944"
      unitRef="shares">72832</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c122"
      decimals="2"
      id="ixv-16945"
      unitRef="usdPershares">34.81</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c123"
      decimals="INF"
      id="ixv-16946"
      unitRef="shares">72832</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c124"
      decimals="0"
      id="ixv-16947"
      unitRef="shares">1103562</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c124"
      decimals="2"
      id="ixv-16948"
      unitRef="usdPershares">42.07</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c3"
      decimals="INF"
      id="ixv-16949"
      unitRef="shares">1103562</srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1 contextRef="c3" decimals="0" id="ixv-16950" unitRef="usd">40290000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1 contextRef="c3" decimals="-5" id="ixv-16951" unitRef="usd">40300000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="c0" id="ixv-13094">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;16. Compensation Plans&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In May 2017, the Company&#x2019;s shareholders
approved the 2017 Stock Incentive Plan (the &#x201c;2017 SIP&#x201d;) under which employees, independent contractors, and non-employee directors
may be granted stock options, restricted stock, deferred stock awards, and stock appreciation rights, any of which may or may not require
the satisfaction of performance objectives. Vesting requirements are determined by the Compensation Committee of the Board of Directors&lt;i&gt;.
&lt;/i&gt;The Company has reserved 750,000 shares for issuance under the 2017 SIP.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In June 2023, the Company&#x2019;s shareholders
approved the 2023 Stock Incentive Plan (the &#x201c;2023 SIP&#x201d;) under which employees, independent contractors, and non-employee directors
may be granted stock options, restricted stock, deferred stock awards, and stock appreciation rights, any of which may or may not require
the satisfaction of performance objectives. Vesting requirements are determined by the Compensation Committee of the Board of Directors.
The Company reserved 1,000,000 shares for issuance under the 2023 SIP, of which 845,000 shares remain available for future grants as of
December 31, 2023. Approximately 150,000 shares remaining from the 2017 SIP will be available for future grants under the terms of
the 2023 SIP. Since the shareholder approval of the 2023 SIP, no additional awards have been or will be granted under the 2017 SIP. Previously
granted and outstanding awards under the 2017 SIP will remain subject to the terms of the 2017 SIP.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Compensation expense related to deferred stock,
restricted stock, and restricted stock units is recognized based on the grant-date fair value of the Company&#x2019;s common stock, using
either the actual share price or an estimated value using the Monte Carlo valuation model. The total stock-based compensation cost included
in the Statements of Income was $5.8 million, $6.2 million, and $5.7 million in 2024, 2023, and 2022, respectively.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Deferred Stock&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Deferred stock awards vest based on the passage
of time or the Company&#x2019;s attainment of performance objectives. Upon vesting, these awards convert one-for-one to common stock.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2024, 9,291 deferred stock awards were issued
to non-employee directors that will vest in June 2025 and 11,992 deferred stock awards were issued to non-employee directors that will
vest in June 2027&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2023, 7,566 deferred stock awards were issued
to non-employee directors that vested in June 2024 and 9,760 deferred stock awards were issued to non-employee directors that will
vest in June 2026.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2022, 5,953 deferred stock awards were issued
to non-employee directors that vested in May 2023, 7,688 deferred stock awards were issued to non-employee directors that will vest in
May 2025 and a 1,478 deferred stock award was issued to a non-employee director that will vest in June 2027.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Compensation expense related to these awards is
amortized ratably over the vesting period. Compensation expense related to these awards was $0.9 million in 2024, $0.9 million in 2023,
and $0.8 million in 2022.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At December 31, 2024, there was $1.0 million of
unrecognized compensation cost related to deferred stock that is expected to be recognized over a period of three years.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="text-decoration:underline"&gt;Restricted Stock Units&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company grants restricted stock units (RSU&#x2019;s)
to senior employees. Some of these RSU&#x2019;s are retention awards and have only time-based vesting. Other RSU&#x2019;s have a vesting
&#x201c;double trigger.&#x201d; The vesting of these RSU&#x2019;s is dependent on the achievement of corporate objectives established by
the Compensation Committee of the Board of Directors, including return on net operating assets, stock performance, and the passage of
time.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During 2024, 153,000 restricted stock units were
issued. Compensation costs related to these restricted stock units was $6.8 million, of which $1.9 million was recognized in 2024. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from 24 to 26 months.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During 2023, 114,000 restricted stock units were
issued. Compensation costs related to these restricted stock units was $6.1 million, of which $1.3 million was recognized in 2023. The
costs &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;are being recognized ratably over the remaining periods required before the units vest, which range from 24 to 26 months.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During 2022, 82,000 restricted stock units were
issued. Compensation costs related to these restricted stock units was $6.0 million, of which $1.7 million was recognized in 2022. The
costs are being recognized ratably over the remaining periods required before the units vest, which range from 24 to 26 months.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At December 31, 2024, there was $7.8 million of
unrecognized compensation cost related to restricted stock units that is expected to be recognized over a period of 3.3 years.&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c125"
      decimals="0"
      id="ixv-16952"
      unitRef="shares">750000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="c126"
      decimals="INF"
      id="ixv-16953"
      unitRef="shares">1000000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="c127"
      decimals="INF"
      id="ixv-16954"
      unitRef="shares">845000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c0" decimals="-5" id="ixv-16955" unitRef="usd">5800000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c15" decimals="-5" id="ixv-16956" unitRef="usd">6200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c16" decimals="-5" id="ixv-16957" unitRef="usd">5700000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="c128"
      decimals="0"
      id="ixv-16958"
      unitRef="shares">9291</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="c129"
      decimals="0"
      id="ixv-16959"
      unitRef="shares">11992</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="c130"
      decimals="0"
      id="ixv-16960"
      unitRef="shares">7566</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="c131"
      decimals="0"
      id="ixv-16961"
      unitRef="shares">9760</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="c132"
      decimals="0"
      id="ixv-16962"
      unitRef="shares">5953</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="c133"
      decimals="0"
      id="ixv-16963"
      unitRef="shares">7688</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued
      contextRef="c134"
      decimals="0"
      id="ixv-16964"
      unitRef="shares">1478</us-gaap:DeferredCompensationArrangementWithIndividualSharesIssued>
    <us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense
      contextRef="c135"
      decimals="-5"
      id="ixv-16965"
      unitRef="usd">900000</us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense>
    <us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense
      contextRef="c136"
      decimals="-5"
      id="ixv-16966"
      unitRef="usd">900000</us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense>
    <us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense
      contextRef="c137"
      decimals="-5"
      id="ixv-16967"
      unitRef="usd">800000</us-gaap:DeferredCompensationArrangementWithIndividualCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions contextRef="c3" decimals="-5" id="ixv-16968" unitRef="usd">1000000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c138"
      decimals="INF"
      id="ixv-16969"
      unitRef="shares">153000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:RestrictedStockExpense
      contextRef="c138"
      decimals="-5"
      id="ixv-16970"
      unitRef="usd">6800000</us-gaap:RestrictedStockExpense>
    <rgr:RecognizedCostsOfRestrictedStockUnits
      contextRef="c139"
      decimals="-5"
      id="ixv-16971"
      unitRef="usd">1900000</rgr:RecognizedCostsOfRestrictedStockUnits>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c140" id="ixv-16972">P24M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c141" id="ixv-16973">P26M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c142"
      decimals="0"
      id="ixv-16974"
      unitRef="shares">114000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:RestrictedStockExpense
      contextRef="c142"
      decimals="-5"
      id="ixv-16975"
      unitRef="usd">6100000</us-gaap:RestrictedStockExpense>
    <rgr:RecognizedCostsOfRestrictedStockUnits
      contextRef="c143"
      decimals="-5"
      id="ixv-16976"
      unitRef="usd">1300000</rgr:RecognizedCostsOfRestrictedStockUnits>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c144" id="ixv-16977">P24M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c145" id="ixv-16978">P26M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c146"
      decimals="0"
      id="ixv-16979"
      unitRef="shares">82000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:RestrictedStockExpense
      contextRef="c146"
      decimals="-5"
      id="ixv-16980"
      unitRef="usd">6000000</us-gaap:RestrictedStockExpense>
    <rgr:RecognizedCostsOfRestrictedStockUnits
      contextRef="c147"
      decimals="-5"
      id="ixv-16981"
      unitRef="usd">1700000</rgr:RecognizedCostsOfRestrictedStockUnits>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c148" id="ixv-16982">P24M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c149" id="ixv-16983">P26M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <rgr:UnrecognizedCompensationCost
      contextRef="c138"
      decimals="-5"
      id="ixv-16984"
      unitRef="usd">7800000</rgr:UnrecognizedCompensationCost>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c138" id="ixv-16985">P3Y3M18D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="c0" id="ixv-13160">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;17. Operating Segment Information&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company has two reportable operating segments:
firearms and castings. The firearms segment manufactures and sells rifles, pistols, and revolvers principally to a number of federally-licensed,
independent wholesale distributors primarily located in the United States. The castings segment manufactures and sells steel investment
castings and metal injection molding parts.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Corporate segment income relates to interest income,
the sale of non-operating assets, and other non-operating activities. Corporate segment assets consist of cash and other non-operating
assets.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company evaluates performance and allocates
resources, in part, based on income (loss) before taxes. The accounting policies of the reportable segments are the same as those described
in the summary of significant accounting policies (see Note 1). Intersegment sales are recorded at the Company&#x2019;s cost plus a fixed
profit percentage.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;This segment structure reflects the financial
information and reports used by the Company&#x2019;s management, specifically its CODM, to make decisions regarding the Company&#x2019;s
business, including resource allocations and performance assessments, as well as the current operating focus in compliance with ASC 280,
Segment Reporting. The Company&#x2019;s reportable segments are not aggregated.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company&#x2019;s method for measuring performance
of a reportable segment is primarily gross profit. The CODM does not review disaggregated assets by segment. The Company adopted ASU 2023-07
in January 2025. The most significant provision was the required disclosure of significant segment expenses that are regularly provided
to the CODM. The Company&#x2019;s CODM periodically reviews cost of goods sold by segment and treats it as a significant segment expense.&lt;/p&gt;&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: normal; text-align: justify"&gt;Net Sales&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 61%"&gt;Firearms&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;532,608&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;540,746&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;593,289&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Castings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 20pt"&gt;Unaffiliated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,035&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,021&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,553&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 20pt"&gt;Intersegment&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;31,528&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;33,086&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,306&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;34,563&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;36,107&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;23,859&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Eliminations&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(31,528&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(33,086&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(21,306&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;535,643&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;543,767&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;595,842&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Costs of Goods Sold&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;417,222&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;407,068&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;410,507&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Castings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 20pt"&gt;Unaffiliated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,006&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,080&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,250&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 20pt"&gt;Intersegment&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;31,528&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;33,086&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,306&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;35,534&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;36,166&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;26,556&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Eliminations&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(31,528&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(33,086&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(21,306&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;421,228&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;410,148&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;415,757&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gross Profit (Loss)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;115,386&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;133,678&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;182,782&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(971&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(59&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2,697&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;114,415&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;133,619&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;180,085&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Operating Income (Loss)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;33,273&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;52,887&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;106,803&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,619&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(803&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(3,347&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;31,654&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;52,084&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;103,456&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Income (Loss) Before Income Taxes&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;34,051&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;53,723&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;108,609&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Castings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(1,616&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(799&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(3,338&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;&#160;Corporate&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5,340&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5,900&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,008&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;37,775&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;58,824&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;108,279&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Identifiable Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 61%"&gt;Firearms&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;230,024&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;228,699&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;223,301&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Castings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;9,303&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,144&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,910&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Corporate&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;144,707&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;158,974&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;249,552&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;384,034&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;398,817&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;484,763&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Goodwill&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;3,055&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;3,055&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;3,055&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;209&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;209&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;209&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,264&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,264&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,264&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;19,952&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;19,301&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;21,992&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,154&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,814&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,452&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,106&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,115&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;24,444&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Capital Expenditures&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;20,488&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;15,395&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;26,598&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;333&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;401&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,175&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;20,821&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;15,796&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;27,773&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2024, the Company&#x2019;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#x2019;s - 28%; Sports South - 18%; and Davidson&#x2019;s - 16%.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2023, the Company&#x2019;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#x2019;s - 24%; Davidson&#x2019;s - 19%; and Sports South -15%.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In 2022, the Company&#x2019;s largest customers
and the percent of firearms sales they represented were as follows: Lipsey&#x2019;s - 23%; Davidson&#x2019;s - 23%; and Sports South - 21%.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company&#x2019;s assets are located entirely
in the United States and domestic sales represented at least 94% of total sales in 2024, 2023, and 2022.&lt;/p&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="c0"
      decimals="INF"
      id="ixv-16986"
      unitRef="segments">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="c0" id="ixv-16987">The Company&#x2019;s CODM periodically reviews cost of goods sold by segment and treats it as a significant segment expense.&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="border-top: Black 1pt solid; font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2022&lt;/td&gt;&lt;td style="border-top: Black 1pt solid; font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: normal; text-align: justify"&gt;Net Sales&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 61%"&gt;Firearms&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;532,608&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;540,746&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;593,289&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Castings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 20pt"&gt;Unaffiliated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,035&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,021&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,553&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 20pt"&gt;Intersegment&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;31,528&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;33,086&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,306&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;34,563&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;36,107&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;23,859&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Eliminations&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(31,528&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(33,086&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(21,306&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;535,643&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;543,767&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;595,842&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Costs of Goods Sold&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;417,222&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;407,068&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;410,507&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Castings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 20pt"&gt;Unaffiliated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,006&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,080&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,250&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; padding-left: 20pt"&gt;Intersegment&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;31,528&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;33,086&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,306&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;35,534&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;36,166&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;26,556&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Eliminations&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(31,528&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(33,086&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(21,306&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;421,228&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;410,148&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;415,757&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gross Profit (Loss)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;115,386&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;133,678&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;182,782&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(971&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(59&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(2,697&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;114,415&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;133,619&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;180,085&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Operating Income (Loss)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;33,273&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;52,887&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;106,803&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(1,619&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(803&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(3,347&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;31,654&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;52,084&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;103,456&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Income (Loss) Before Income Taxes&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;34,051&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;53,723&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;108,609&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Castings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(1,616&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(799&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(3,338&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;&#160;Corporate&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5,340&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;5,900&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,008&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;37,775&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;58,824&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;108,279&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: italic 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;Year ended December 31,&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2024&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2023&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;2022&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Identifiable Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 61%"&gt;Firearms&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;230,024&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;228,699&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;223,301&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Castings&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;9,303&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,144&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;11,910&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Corporate&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;144,707&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;158,974&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;249,552&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;384,034&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;398,817&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;484,763&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Goodwill&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;3,055&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;3,055&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;3,055&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;209&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;209&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;209&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,264&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,264&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,264&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;19,952&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;19,301&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;21,992&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,154&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,814&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,452&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,106&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;21,115&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;24,444&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Capital Expenditures&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Firearms&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;20,488&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;15,395&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;26,598&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; border-bottom: Black 1pt solid"&gt;Castings&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;333&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;401&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;1,175&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;20,821&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;15,796&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;27,773&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:Revenues
      contextRef="c162"
      decimals="-3"
      id="ixv-16988"
      unitRef="usd">532608000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c163"
      decimals="-3"
      id="ixv-16989"
      unitRef="usd">540746000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c164"
      decimals="-3"
      id="ixv-16990"
      unitRef="usd">593289000</us-gaap:Revenues>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="c165"
      decimals="-3"
      id="ixv-16991"
      unitRef="usd">3035000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="c166"
      decimals="-3"
      id="ixv-16992"
      unitRef="usd">3021000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="c167"
      decimals="-3"
      id="ixv-16993"
      unitRef="usd">2553000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="c168"
      decimals="-3"
      id="ixv-16994"
      unitRef="usd">31528000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="c169"
      decimals="-3"
      id="ixv-16995"
      unitRef="usd">33086000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="c170"
      decimals="-3"
      id="ixv-16996"
      unitRef="usd">21306000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="c171"
      decimals="-3"
      id="ixv-16997"
      unitRef="usd">34563000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="c172"
      decimals="-3"
      id="ixv-16998"
      unitRef="usd">36107000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="c173"
      decimals="-3"
      id="ixv-16999"
      unitRef="usd">23859000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:Revenues
      contextRef="c174"
      decimals="-3"
      id="ixv-17000"
      unitRef="usd">-31528000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c175"
      decimals="-3"
      id="ixv-17001"
      unitRef="usd">-33086000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c176"
      decimals="-3"
      id="ixv-17002"
      unitRef="usd">-21306000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c0" decimals="-3" id="ixv-17003" unitRef="usd">535643000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c15" decimals="-3" id="ixv-17004" unitRef="usd">543767000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c16" decimals="-3" id="ixv-17005" unitRef="usd">595842000</us-gaap:Revenues>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c162"
      decimals="-3"
      id="ixv-17006"
      unitRef="usd">417222000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c163"
      decimals="-3"
      id="ixv-17007"
      unitRef="usd">407068000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c164"
      decimals="-3"
      id="ixv-17008"
      unitRef="usd">410507000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c165"
      decimals="-3"
      id="ixv-17009"
      unitRef="usd">4006000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c166"
      decimals="-3"
      id="ixv-17010"
      unitRef="usd">3080000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c167"
      decimals="-3"
      id="ixv-17011"
      unitRef="usd">5250000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c168"
      decimals="-3"
      id="ixv-17012"
      unitRef="usd">31528000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c169"
      decimals="-3"
      id="ixv-17013"
      unitRef="usd">33086000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c170"
      decimals="-3"
      id="ixv-17014"
      unitRef="usd">21306000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c171"
      decimals="-3"
      id="ixv-17015"
      unitRef="usd">35534000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c172"
      decimals="-3"
      id="ixv-17016"
      unitRef="usd">36166000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c173"
      decimals="-3"
      id="ixv-17017"
      unitRef="usd">26556000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c174"
      decimals="-3"
      id="ixv-17018"
      unitRef="usd">-31528000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c175"
      decimals="-3"
      id="ixv-17019"
      unitRef="usd">-33086000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="c176"
      decimals="-3"
      id="ixv-17020"
      unitRef="usd">-21306000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c0" decimals="-3" id="ixv-17021" unitRef="usd">421228000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c15" decimals="-3" id="ixv-17022" unitRef="usd">410148000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c16" decimals="-3" id="ixv-17023" unitRef="usd">415757000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="c162"
      decimals="-3"
      id="ixv-17024"
      unitRef="usd">115386000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c163"
      decimals="-3"
      id="ixv-17025"
      unitRef="usd">133678000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c164"
      decimals="-3"
      id="ixv-17026"
      unitRef="usd">182782000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c171"
      decimals="-3"
      id="ixv-17027"
      unitRef="usd">-971000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c172"
      decimals="-3"
      id="ixv-17028"
      unitRef="usd">-59000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c173"
      decimals="-3"
      id="ixv-17029"
      unitRef="usd">-2697000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c0" decimals="-3" id="ixv-17030" unitRef="usd">114415000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c15" decimals="-3" id="ixv-17031" unitRef="usd">133619000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c16" decimals="-3" id="ixv-17032" unitRef="usd">180085000</us-gaap:GrossProfit>
    <us-gaap:OperatingIncomeLoss
      contextRef="c162"
      decimals="-3"
      id="ixv-17033"
      unitRef="usd">33273000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c163"
      decimals="-3"
      id="ixv-17034"
      unitRef="usd">52887000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c164"
      decimals="-3"
      id="ixv-17035"
      unitRef="usd">106803000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c171"
      decimals="-3"
      id="ixv-17036"
      unitRef="usd">-1619000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c172"
      decimals="-3"
      id="ixv-17037"
      unitRef="usd">-803000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c173"
      decimals="-3"
      id="ixv-17038"
      unitRef="usd">-3347000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c0" decimals="-3" id="ixv-17039" unitRef="usd">31654000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c15" decimals="-3" id="ixv-17040" unitRef="usd">52084000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c16" decimals="-3" id="ixv-17041" unitRef="usd">103456000</us-gaap:OperatingIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c162"
      decimals="-3"
      id="ixv-17042"
      unitRef="usd">34051000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c163"
      decimals="-3"
      id="ixv-17043"
      unitRef="usd">53723000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c164"
      decimals="-3"
      id="ixv-17044"
      unitRef="usd">108609000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c171"
      decimals="-3"
      id="ixv-17045"
      unitRef="usd">-1616000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c172"
      decimals="-3"
      id="ixv-17046"
      unitRef="usd">-799000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c173"
      decimals="-3"
      id="ixv-17047"
      unitRef="usd">-3338000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c177"
      decimals="-3"
      id="ixv-17048"
      unitRef="usd">5340000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c178"
      decimals="-3"
      id="ixv-17049"
      unitRef="usd">5900000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c179"
      decimals="-3"
      id="ixv-17050"
      unitRef="usd">3008000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:Assets
      contextRef="c180"
      decimals="-3"
      id="ixv-17051"
      unitRef="usd">230024000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c181"
      decimals="-3"
      id="ixv-17052"
      unitRef="usd">228699000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c182"
      decimals="-3"
      id="ixv-17053"
      unitRef="usd">223301000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c183"
      decimals="-3"
      id="ixv-17054"
      unitRef="usd">9303000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c184"
      decimals="-3"
      id="ixv-17055"
      unitRef="usd">11144000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c185"
      decimals="-3"
      id="ixv-17056"
      unitRef="usd">11910000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c186"
      decimals="-3"
      id="ixv-17057"
      unitRef="usd">144707000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c187"
      decimals="-3"
      id="ixv-17058"
      unitRef="usd">158974000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c188"
      decimals="-3"
      id="ixv-17059"
      unitRef="usd">249552000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c3" decimals="-3" id="ixv-17060" unitRef="usd">384034000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c4" decimals="-3" id="ixv-17061" unitRef="usd">398817000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c30" decimals="-3" id="ixv-17062" unitRef="usd">484763000</us-gaap:Assets>
    <us-gaap:Goodwill
      contextRef="c180"
      decimals="-3"
      id="ixv-17063"
      unitRef="usd">3055000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="c181"
      decimals="-3"
      id="ixv-17064"
      unitRef="usd">3055000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="c182"
      decimals="-3"
      id="ixv-17065"
      unitRef="usd">3055000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="c183"
      decimals="-3"
      id="ixv-17066"
      unitRef="usd">209000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="c184"
      decimals="-3"
      id="ixv-17067"
      unitRef="usd">209000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="c185"
      decimals="-3"
      id="ixv-17068"
      unitRef="usd">209000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c3" decimals="-3" id="ixv-17069" unitRef="usd">3264000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c4" decimals="-3" id="ixv-17070" unitRef="usd">3264000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c30" decimals="-3" id="ixv-17071" unitRef="usd">3264000</us-gaap:Goodwill>
    <us-gaap:Depreciation
      contextRef="c162"
      decimals="-3"
      id="ixv-17072"
      unitRef="usd">19952000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c163"
      decimals="-3"
      id="ixv-17073"
      unitRef="usd">19301000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c164"
      decimals="-3"
      id="ixv-17074"
      unitRef="usd">21992000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c171"
      decimals="-3"
      id="ixv-17075"
      unitRef="usd">1154000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c172"
      decimals="-3"
      id="ixv-17076"
      unitRef="usd">1814000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c173"
      decimals="-3"
      id="ixv-17077"
      unitRef="usd">2452000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c0" decimals="-3" id="ixv-17078" unitRef="usd">21106000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c15" decimals="-3" id="ixv-17079" unitRef="usd">21115000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c16" decimals="-3" id="ixv-17080" unitRef="usd">24444000</us-gaap:Depreciation>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="c162"
      decimals="-3"
      id="ixv-17081"
      unitRef="usd">20488000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="c163"
      decimals="-3"
      id="ixv-17082"
      unitRef="usd">15395000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="c164"
      decimals="-3"
      id="ixv-17083"
      unitRef="usd">26598000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="c171"
      decimals="-3"
      id="ixv-17084"
      unitRef="usd">333000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="c172"
      decimals="-3"
      id="ixv-17085"
      unitRef="usd">401000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets
      contextRef="c173"
      decimals="-3"
      id="ixv-17086"
      unitRef="usd">1175000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c0" decimals="-3" id="ixv-17087" unitRef="usd">20821000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c15" decimals="-3" id="ixv-17088" unitRef="usd">15796000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:SegmentExpenditureAdditionToLongLivedAssets contextRef="c16" decimals="-3" id="ixv-17089" unitRef="usd">27773000</us-gaap:SegmentExpenditureAdditionToLongLivedAssets>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c150"
      decimals="2"
      id="ixv-17090"
      unitRef="pure">0.28</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c151"
      decimals="2"
      id="ixv-17091"
      unitRef="pure">0.18</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c152"
      decimals="2"
      id="ixv-17092"
      unitRef="pure">0.16</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c153"
      decimals="2"
      id="ixv-17093"
      unitRef="pure">0.24</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c154"
      decimals="2"
      id="ixv-17094"
      unitRef="pure">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c155"
      decimals="2"
      id="ixv-17095"
      unitRef="pure">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c156"
      decimals="2"
      id="ixv-17096"
      unitRef="pure">0.23</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c157"
      decimals="2"
      id="ixv-17097"
      unitRef="pure">0.23</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c158"
      decimals="2"
      id="ixv-17098"
      unitRef="pure">0.21</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c159"
      decimals="2"
      id="ixv-17099"
      unitRef="pure">0.94</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c160"
      decimals="2"
      id="ixv-17100"
      unitRef="pure">0.94</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c161"
      decimals="2"
      id="ixv-17101"
      unitRef="pure">0.94</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:QuarterlyFinancialInformationTextBlock contextRef="c0" id="ixv-13883">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;18. Quarterly Results of Operations (Unaudited)&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.25in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following is a tabulation of the unaudited
quarterly results of operations for the two years ended December 31, 2024:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1.25in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Three Months Ended&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;3/30/24&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;6/29/24&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;9/28/24&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;12/31/24&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 48%; font-weight: normal; text-align: left; text-indent: 0.5pt"&gt;Net Sales&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;136,820&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;130,761&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;122,287&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;145,775&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: 0.5pt"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;29,403&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;29,154&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;22,672&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;33,186&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; text-indent: 0.5pt"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,084&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,264&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,738&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,477&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: 0.5pt"&gt;Basic earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.41&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.48&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.28&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.63&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: 0.5pt"&gt;Diluted earnings per share&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.40&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.47&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.28&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.62&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Three Months Ended&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;4/1/23&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;7/1/23&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;9/30/23&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;12/31/23&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 48%; font-weight: normal; text-align: left"&gt;Net Sales&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;149,453&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;142,804&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;120,893&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;130,617&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;38,486&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;38,148&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;24,728&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;32,257&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;14,350&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;16,185&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,431&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,249&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Basic earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.81&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.91&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.42&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.58&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;Diluted earnings per share&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.81&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.91&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.42&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.58&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock contextRef="c0" id="ixv-13887">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following is a tabulation of the unaudited
quarterly results of operations for the two years ended December 31, 2024:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1.25in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Three Months Ended&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;3/30/24&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;6/29/24&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;9/28/24&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;12/31/24&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 48%; font-weight: normal; text-align: left; text-indent: 0.5pt"&gt;Net Sales&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;136,820&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;130,761&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;122,287&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;145,775&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; text-indent: 0.5pt"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;29,403&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;29,154&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;22,672&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;33,186&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; text-indent: 0.5pt"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,084&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,264&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,738&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,477&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: 0.5pt"&gt;Basic earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.41&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.48&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.28&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.63&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-indent: 0.5pt"&gt;Diluted earnings per share&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.40&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.47&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.28&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.62&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 1in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Three Months Ended&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;4/1/23&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;7/1/23&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;9/30/23&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: right; border-bottom: Black 1pt solid"&gt;12/31/23&lt;/td&gt;&lt;td style="font: 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 48%; font-weight: normal; text-align: left"&gt;Net Sales&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;149,453&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;142,804&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;120,893&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;130,617&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;38,486&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;38,148&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;24,728&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;32,257&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;14,350&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;16,185&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,431&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,249&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Basic earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.81&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.91&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.42&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.58&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;Diluted earnings per share&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.81&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.91&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.42&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;0.58&lt;/td&gt;&lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:Revenues
      contextRef="c189"
      decimals="-3"
      id="ixv-17102"
      unitRef="usd">136820000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c190"
      decimals="-3"
      id="ixv-17103"
      unitRef="usd">130761000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c191"
      decimals="-3"
      id="ixv-17104"
      unitRef="usd">122287000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c124"
      decimals="-3"
      id="ixv-17105"
      unitRef="usd">145775000</us-gaap:Revenues>
    <us-gaap:GrossProfit
      contextRef="c189"
      decimals="-3"
      id="ixv-17106"
      unitRef="usd">29403000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c190"
      decimals="-3"
      id="ixv-17107"
      unitRef="usd">29154000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c191"
      decimals="-3"
      id="ixv-17108"
      unitRef="usd">22672000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c124"
      decimals="-3"
      id="ixv-17109"
      unitRef="usd">33186000</us-gaap:GrossProfit>
    <us-gaap:NetIncomeLoss
      contextRef="c189"
      decimals="-3"
      id="ixv-17110"
      unitRef="usd">7084000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c190"
      decimals="-3"
      id="ixv-17111"
      unitRef="usd">8264000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c191"
      decimals="-3"
      id="ixv-17112"
      unitRef="usd">4738000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c124"
      decimals="-3"
      id="ixv-17113"
      unitRef="usd">10477000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c189"
      decimals="2"
      id="ixv-17114"
      unitRef="usdPershares">0.41</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c190"
      decimals="2"
      id="ixv-17115"
      unitRef="usdPershares">0.48</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c191"
      decimals="2"
      id="ixv-17116"
      unitRef="usdPershares">0.28</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c124"
      decimals="2"
      id="ixv-17117"
      unitRef="usdPershares">0.63</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c189"
      decimals="2"
      id="ixv-17118"
      unitRef="usdPershares">0.4</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c190"
      decimals="2"
      id="ixv-17119"
      unitRef="usdPershares">0.47</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c191"
      decimals="2"
      id="ixv-17120"
      unitRef="usdPershares">0.28</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c124"
      decimals="2"
      id="ixv-17121"
      unitRef="usdPershares">0.62</us-gaap:EarningsPerShareDiluted>
    <us-gaap:Revenues
      contextRef="c192"
      decimals="-3"
      id="ixv-17122"
      unitRef="usd">149453000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c193"
      decimals="-3"
      id="ixv-17123"
      unitRef="usd">142804000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c194"
      decimals="-3"
      id="ixv-17124"
      unitRef="usd">120893000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="c195"
      decimals="-3"
      id="ixv-17125"
      unitRef="usd">130617000</us-gaap:Revenues>
    <us-gaap:GrossProfit
      contextRef="c192"
      decimals="-3"
      id="ixv-17126"
      unitRef="usd">38486000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c193"
      decimals="-3"
      id="ixv-17127"
      unitRef="usd">38148000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c194"
      decimals="-3"
      id="ixv-17128"
      unitRef="usd">24728000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c195"
      decimals="-3"
      id="ixv-17129"
      unitRef="usd">32257000</us-gaap:GrossProfit>
    <us-gaap:NetIncomeLoss
      contextRef="c192"
      decimals="-3"
      id="ixv-17130"
      unitRef="usd">14350000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c193"
      decimals="-3"
      id="ixv-17131"
      unitRef="usd">16185000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c194"
      decimals="-3"
      id="ixv-17132"
      unitRef="usd">7431000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c195"
      decimals="-3"
      id="ixv-17133"
      unitRef="usd">10249000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c192"
      decimals="2"
      id="ixv-17134"
      unitRef="usdPershares">0.81</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c193"
      decimals="2"
      id="ixv-17135"
      unitRef="usdPershares">0.91</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c194"
      decimals="2"
      id="ixv-17136"
      unitRef="usdPershares">0.42</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c195"
      decimals="2"
      id="ixv-17137"
      unitRef="usdPershares">0.58</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c192"
      decimals="2"
      id="ixv-17138"
      unitRef="usdPershares">0.81</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c193"
      decimals="2"
      id="ixv-17139"
      unitRef="usdPershares">0.91</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c194"
      decimals="2"
      id="ixv-17140"
      unitRef="usdPershares">0.42</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c195"
      decimals="2"
      id="ixv-17141"
      unitRef="usdPershares">0.58</us-gaap:EarningsPerShareDiluted>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock contextRef="c0" id="ixv-14114">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;19. Related Party Transactions &lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;From time to time, the Company contracts with
the National Rifle Association (&#x201c;NRA&#x201d;) for some of its promotional and advertising activities. The Company paid the NRA $0.5
million, $0.5 million and $0.7 million in 2024, 2023, and 2022, respectively. One of the Company&#x2019;s Directors also serves as a Director
on the Board of the NRA.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company is a member of the National Shooting
Sports Foundation (&#x201c;NSSF&#x201d;), the firearm industry trade association. &lt;span style="font-family: Times New Roman, Times, Serif"&gt;The
Company paid the NSSF $0.4 million, $0.3 million and $0.3 million in 2024, 2023, and 2022, respectively. &lt;/span&gt;One of the Company&#x2019;s
Directors also serves on the Board of the NSSF.&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="c196"
      decimals="-5"
      id="ixv-17142"
      unitRef="usd">500000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="c198"
      decimals="-5"
      id="ixv-17143"
      unitRef="usd">500000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="c199"
      decimals="-5"
      id="ixv-17144"
      unitRef="usd">700000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="c197"
      decimals="-5"
      id="ixv-17145"
      unitRef="usd">400000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="c200"
      decimals="-5"
      id="ixv-17146"
      unitRef="usd">300000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="c201"
      decimals="-5"
      id="ixv-17147"
      unitRef="usd">300000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:LegalMattersAndContingenciesTextBlock contextRef="c0" id="ixv-14125">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;20. Contingent Liabilities &lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;As
of December 31, 2024, the Company was a defendant in eight (8) lawsuits and is aware of cert&lt;/span&gt;ain other such claims. The lawsuits
generally fall into four (4) categories: municipal litigation, breach of contract, unfair trade practices, and trademark litigation. Each
is discussed in turn below.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Municipal Litigation&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Municipal litigation generally includes those
cases brought by cities or other governmental entities against firearms manufacturers, distributors and retailers seeking to recover damages
allegedly arising out of the criminal misuse of firearms by third parties. There are four (4) lawsuits of this type, as follows.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;i&gt;City of Gary v. Smith &amp;amp; Wesson Corp.,
et al&lt;/i&gt;, filed in Indiana State Court in 1999, the City of Gary, Indiana seeks damages, among other things, for the costs of medical
care, police and emergency services, public health services, and other services as well as punitive damages. In addition, nuisance abatement
and/or injunctive relief is sought to change the design, manufacture, marketing and distribution practices of the various Defendants.
The Complaint alleges, among other claims, negligence in the design of products, public nuisance, negligent distribution and marketing,
negligence per se and deceptive advertising. The case does not allege a specific injury to a specific individual as a result of the misuse
or use of any of the Company's products. After a long procedural history, during the quarter ended April 3, 2021, the City initiated discovery
and the manufacturer Defendants reciprocated.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On March 15, 2024, Indiana Governor Eric Holcomb
signed into law HB 1235, which reserves to the State of Indiana the right to bring an action on behalf of a political subdivision against
a firearm or ammunition manufacturer, trade association, seller, or dealer, concerning certain matters. The new law also prohibits a political
subdivision from bringing or maintaining such an action. Following passage of this new law, the Company and other Defendants filed a Motion
for Judgment on the Pleadings on March 18, 2024. On August 12, 2024, the Court denied Defendants&#x2019; motion. The Court granted Defendants&#x2019;
subsequent request to certify the Order for appeal. On October 2, 2024, Defendants filed a motion with the Indiana Court of Appeals to
accept jurisdiction over the interlocutory appeal, which was granted over Plaintiff&#x2019;s objection on November 1, 2024. On October
16, 2024, the trial court entered an Order staying all proceedings pending the interlocutory appeal. Briefing of the appeal is underway.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;i&gt;Estados Unidos Mexicanos v. Smith &amp;amp; Wesson
Brands, Inc., et al.&lt;/i&gt; was filed by the Country of Mexico and names seven Defendants, mostly U.S.-based firearms manufacturers, including
the Company. The Complaint advances a variety of legal theories including negligence, public nuisance, unjust enrichment, restitution,
and others. Plaintiff essentially alleges that Defendants design, manufacture, distribute, market and sell firearms in a way that they
know results in the illegal trafficking of firearms into Mexico, where they are used by Mexican drug cartels for criminal activities.
Plaintiff seeks injunctive relief and monetary damages.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On November 22, 2021, Defendants jointly filed
a motion to dismiss the Complaint, which was granted on September 30, 2022. Several defendants, including the Company, also filed Rule
12(b)(2) motions to dismiss for lack of personal jurisdiction, which the Court declined to rule on in light of its dismissal. Plaintiffs
appealed the dismissal to the First Circuit Court of Appeals and, on January 22, 2024, the Court of Appeals reversed the District Court&#x2019;s
dismissal and remanded the case for further proceedings. The Defendants filed a Petition for Writ of &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Certiorari seeking review by the
United States Supreme Court while the case moved forward at the District Court.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On June 17, 2024, the District Court heard argument
on the pending Rule 12(b)(2) motions to dismiss. On August 7, 2024, the Court granted the motions, dismissing the Company and some of
the other Defendants from the case, but has not yet entered judgement in favor of these Defendants. Because judgment has not entered in
favor of the Company, the 30-day period in which Plaintiff may appeal the Court&#x2019;s August 7, 2024 ruling has not yet begun to run.
Subsequently, the Supreme Court granted the Defendants&#x2019; Petition for Writ of Certiorari. Oral argument at the Supreme Court is scheduled
for March 4, 2025.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On December 20, 2022, the City of Buffalo, New
York filed a lawsuit captioned &lt;i&gt;The City of Buffalo v. Smith &amp;amp; Wesson Brands, Inc., et al.&lt;/i&gt; in the New York State Supreme Court
for Erie County, New York. The suit names a number of firearm manufacturers, distributors, and retailers as Defendants, including the
Company, and purports to state causes of action for violations of Sections 898, 349 and 350 of the New York General Business Law, as well
as common law public nuisance. Generally, Plaintiff alleges that the criminal misuse of firearms in the City of Buffalo is the result
of the manufacturing, sales, marketing, and distribution practices of the Defendants. The Defendants timely removed the matter to the
U.S. District Court for the Western District of New York.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On December 21, 2022, the City of Rochester, New
York filed a lawsuit captioned &lt;i&gt;The City of Rochester v. Smith &amp;amp; Wesson Brands, Inc., et al. &lt;/i&gt;in the New York State Supreme Court
for Monroe County, New York. The suit names the same defendants and makes essentially the same allegations raised in &lt;i&gt;Buffalo&lt;/i&gt;, discussed
in the preceding paragraph. Defendants timely removed the matter to the U.S. District Court for the Western District of New York.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Defendants moved to consolidate the &lt;i&gt;Buffalo&lt;/i&gt;
and &lt;i&gt;Rochester&lt;/i&gt; cases for pretrial purposes only and also moved to stay the cases pending a decision by the Second Circuit Court
of Appeals in &lt;i&gt;National Shooting Sports Foundation, Inc. et al. v. James&lt;/i&gt;, which challenges the constitutionality of the recently
enacted N.Y. GEN. BUS. LAW &#xa7;&#xa7; 898-a&#x2013;e. On June 8, 2023, the Court granted Defendants&#x2019; motions and the cases were
consolidated for pretrial purposes and stayed.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Breach of Contract&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company is a defendant in &lt;i&gt;Jones v. Sturm,
Ruger &amp;amp; Co.,&lt;/i&gt; a purported class action lawsuit arising out of a data breach at Freestyle Solutions, Inc., the vendor who was hosting
the Company&#x2019;s ShopRuger.com website at the time of the breach. On January 20, 2023, five Plaintiffs filed an Amended Complaint naming
the Company and Freestyle Solutions, Inc. as Defendants. The Complaint alleged causes of action for negligence, breach of implied warranties,
and unjust enrichment.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company moved to dismiss the Amended Complaint,
and on March 27, 2024, the Court dismissed Plaintiffs&#x2019; negligence and unjust enrichment claims against the Company. The Court denied
the motion with respect to Plaintiffs&#x2019; breach of contract claim, concluding that development &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;of additional information is required
to assess the applicability of the limitation of liability clause contained in the Company&#x2019;s terms and conditions of use. The case
is proceeding accordingly.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Unfair Trade Practices&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;i&gt;Estate of Suzanne Fountain v. Sturm, Ruger
&amp;amp; Co., Inc.,&lt;/i&gt; was filed in Connecticut Superior Court and arises out of the criminal shooting at the King Soopers supermarket in
Boulder, Colorado on March 22, 2021. On that date, Plaintiff&#x2019;s decedent, Suzanne Fountain, was murdered by 21-year-old &lt;span style="background-color: white"&gt;Ahmad
Al Aliwi Al-Issa. The Complaint alleged that the Company&#x2019;s advertising and marketing of the Ruger AR-556 pistol violate the Connecticut
Unfair Trade Practices Act and were a substantial factor in bringing about the wrongful death of Suzanne Fountain. &lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;i&gt;Estate of Neven Stanisic et al. v. Sturm, Ruger
&amp;amp; Co., Inc.,&lt;/i&gt; was filed in Connecticut Superior Court on behalf of five Plaintiffs. Like &lt;i&gt;Estate of Suzanne Fountain&lt;/i&gt;, the
claims arise from the criminal shooting at the King Soopers supermarket in Boulder, Colorado on March 22, 2021. Plaintiffs&#x2019; decedents
were murdered by &lt;span style="background-color: white"&gt;Ahmad Al Aliwi Al-Issa and Plaintiffs alleged that the Company&#x2019;s advertising
and marketing of the Ruger AR-556 pistol violate the Connecticut Unfair Trade Practices Act and were a substantial factor in causing the
wrongful death of Plaintiffs&#x2019; decedents.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;The &lt;i&gt;Fountain&lt;/i&gt;
and &lt;i&gt;Stanisic&lt;/i&gt; cases were consolidated for discovery purposes only and transferred by the Court to the Complex Litigation Docket.
Plaintiffs then sought leave to file an Amended Complaint, essentially abandoning their negligent marketing allegations and advancing
a new theory predicated upon alleged violations of the Gun Control Act and National Firearms Act. Over the Company&#x2019;s objections,
Plaintiffs were permitted to file the Amended Complaint. &lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;The matter
was timely removed to the U.S. District Court for the District of Connecticut based upon the new allegations and federal question jurisdiction.
Plaintiffs moved to remand the case to state court and, following briefing and oral argument, the matter was remanded on April 25, 2024.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On June 12, 2024, Ruger filed Motions to Dismiss
the Connecticut state court cases based upon the doctrine of &lt;i&gt;forum non conveniens&lt;/i&gt;. Following oral argument on September 9, 2024,
the Court allowed Plaintiffs limited, additional discovery and requested further briefing on the matter. The briefing has been completed
and the parties are awaiting a decision from the Court.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;&lt;span style="text-decoration:underline"&gt;Trademark
Litigation&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;On March
12, 2024,&lt;/span&gt; the Company was named as a defendant in &lt;i&gt;FN Herstal, et al. v. Sturm, Ruger &amp;amp; Company, Inc.&lt;/i&gt;, which is pending
in the U.S. District Court for the Middle District of North Carolina. T&lt;span style="background-color: white"&gt;he Complaint alleges that
the Company&#x2019;s use of the initialism &#x201c;SFAR&#x201d; in connection with the marketing of its Small Frame Autoloading Rifle infringes
the Plaintiffs&#x2019; SCAR trademark. The Complaint alleges violations of the Lanham Act and the North Carolina Unfair and Deceptive Trade
Practices Act, as well as trademark infringement under North Carolina common law. The Company believes that the allegations are meritless
and is defending the action accordingly.&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Summary of Claimed Damages and Explanation
of Product Liability Accruals&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Punitive damages, as well as compensatory damages,
are demanded in certain of the lawsuits and claims. In many instances, the plaintiff does not seek a specified amount of money, though
aggregate amounts ultimately sought may exceed product liability accruals and applicable insurance coverage.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;For product liability claims made between July
10, 2000 and August 31, 2024, insurance coverage was provided on an annual basis for losses exceeding $5 million per claim, with an aggregate
maximum loss of $10 million annually, except for certain claims brought by governments or municipalities, which are excluded from coverage.
Insurance coverage was not renewed with incumbent carriers effective September 1, 2024. Rather, the Company established a wholly-owned
captive insurance company for claims made on or after September 1, 2024.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Company management monitors the status of known
claims and the product liability accrual, which includes amounts for asserted and unasserted claims. While it is not possible to forecast
the outcome of litigation or the timing of costs, in the opinion of management, after consultation with special and corporate counsel,
it is not probable and is unlikely that litigation, including punitive damage claims, will have a material adverse effect on the financial
position of the Company, but may have a material impact on the Company&#x2019;s financial results for a particular period.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Product liability claim payments are made when
appropriate if, as, and when claimants and the Company reach agreement upon an amount to finally resolve all claims. Legal costs are paid
as the lawsuits and claims develop, the timing of which may vary greatly from case to case. A time schedule cannot be determined in advance
with any reliability concerning when payments will be made in any given case.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Provision is made for product liability claims
based upon many factors related to the severity of the alleged injury and potential liability exposure, based upon prior claim experience.
Because the Company's experience in defending these lawsuits and claims is that unfavorable outcomes are typically not probable or estimable,
only in rare cases is an accrual established for such costs.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In most cases, an accrual is established only
for estimated legal defense costs. Product liability accruals are periodically reviewed to reflect then-current estimates of possible
liabilities and expenses incurred to date and reasonably anticipated in the future. Threatened product liability claims are reflected
in the Company's product liability accrual on the same basis as actual claims; &lt;i&gt;i.e.&lt;/i&gt;, an accrual is made for reasonably anticipated
possible liability and claims handling expenses on an ongoing basis.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Often, a Complaint does not specify the amount
of damages being sought and range of reasonably possible losses relating to unfavorable outcomes cannot be made. The dollar amount of
damages claimed at December 31, 2024, December 31, 2023, and December 31, 2022 was &lt;i&gt;de minimis&lt;/i&gt;. The amount claimed at December 31,
2021 was $1.1 million and is set forth as an indication of possible maximum liability the Company might be required to incur in these
cases (regardless &lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;of the likelihood or reasonable probability of any or all of this amount being awarded to claimants) as a result of
adverse judgments that are sustained on appeal.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During 2024, one (1) trademark lawsuit was filed
against the Company, one (1) negligence lawsuit was resolved, and one (1) traditional product liability lawsuit was resolved. One (1)
municipal lawsuit was dismissed, however the time period in which to file an appeal has been stayed by the Court and the Company considers
this matter still open. As of December 31, 2024, the Company was a defendant in eight (8) lawsuits involving its products, including four
(4) municipal lawsuits, two (2) lawsuits based upon unfair trade practices, one (1) breach of contract, and one (1) trademark litigation.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During 2023, one (1) traditional product liability
lawsuit was filed against the Company and one (1) was resolved. As of December 31, 2023, the Company was a defendant in seven (7) lawsuits
involving its products, including one (1) traditional product liability lawsuit, four (4) municipal lawsuits and two (2) lawsuits based
upon alleged unfair trade practices. The Company was also a defendant in two (2) negligence lawsuits.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During 2022, no traditional product liability
lawsuits were filed against the Company and one (1) was resolved. As of December 31, 2022, the Company was a defendant five lawsuits involving
its products, including one (1) traditional product liability lawsuit and four (4) municipal lawsuits. The Company also was a defendant
in three (3) negligence lawsuits though, as discussed above, that number has since been reduced to two (2) lawsuits with the consolidation
of the &lt;i&gt;Jones&lt;/i&gt; and &lt;i&gt;Copeland&lt;/i&gt; matters.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company&#x2019;s product liability expense
was $0.7 million in 2024, $1.5 million in 2023, $1.3 million in 2022. This expense includes the cost of outside legal fees, and other
expenses incurred in the management and defense of product liability matters.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;A roll-forward of the product liability reserve and detail of product
liability expense for the three years ended December 31, 2024 follows:&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Balance Sheet Roll-forward for Product Liability
Reserve&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;Cash Payments&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;Balance &lt;br/&gt;
Beginning &lt;br/&gt;
of Year (a&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Accrued&lt;br/&gt;
 Legal&lt;br/&gt;
 Expense&lt;br/&gt;
 (Income) &lt;br/&gt;
(b)&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Legal Fees &lt;br/&gt;
(c)&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Settlements &lt;br/&gt;
(d)&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Balance &lt;br/&gt;
End of &lt;br/&gt;
Year (a)&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 35%; text-align: justify"&gt;2022&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;892&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(417&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(167&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-47"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;308&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;308&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;500&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(129&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-48"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;679&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;679&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;67&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(254&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-49"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;492&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Income Statement Detail for Product Liability
Expense&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Accrued &lt;br/&gt;
Legal&lt;br/&gt;
 Expense&lt;br/&gt;
 (b)&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Insurance &lt;br/&gt;
Premium &lt;br/&gt;
Expense &lt;br/&gt;
(e)&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Total &lt;br/&gt;
Product&lt;br/&gt;
 Liability &lt;br/&gt;
Expense&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%; text-align: justify"&gt;2022&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(417&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,524&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,107&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;500&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,226&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,726&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;67&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;908&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;975&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Notes&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(a)&lt;/td&gt;&lt;td style="text-align: justify"&gt;The beginning and ending liability balances represent accrued legal fees only. Settlements and administrative
costs are expensed as incurred. Only in rare instances is an accrual established for settlements.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(b)&lt;/td&gt;&lt;td style="text-align: justify"&gt;The expense accrued in the liability is for legal fees only. In 2022, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(c)&lt;/td&gt;&lt;td style="text-align: justify"&gt;Legal fees represent payments to outside counsel related to product liability matters.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(d)&lt;/td&gt;&lt;td style="text-align: justify"&gt;Settlements represent payments made to plaintiffs or allegedly injured parties in exchange for a full
and complete release of liability.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(e)&lt;/td&gt;&lt;td style="text-align: justify"&gt;Insurance expense represents the cost of insurance premiums.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;There were no insurance recoveries during any
of the above years.&lt;/p&gt;</us-gaap:LegalMattersAndContingenciesTextBlock>
    <rgr:ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis contextRef="c0" decimals="-6" id="ixv-17148" unitRef="usd">5000000</rgr:ThresholdLimitOfLossesPerTransactionForTakingInsuranceCoverageOnAnnualBasis>
    <rgr:ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities contextRef="c0" decimals="-6" id="ixv-17149" unitRef="usd">10000000</rgr:ThresholdLimitOfAggregateLossForInsuranceCoverageOnAnnualBasisExcludingNewClaimsFromGovernmentsOrMunicipalities>
    <us-gaap:LossContingencyDamagesSoughtValue
      contextRef="c202"
      decimals="-5"
      id="ixv-17150"
      unitRef="usd">1100000</us-gaap:LossContingencyDamagesSoughtValue>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c203"
      decimals="0"
      id="ixv-17151"
      unitRef="pure">1</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c204"
      decimals="0"
      id="ixv-17152"
      unitRef="pure">1</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyClaimsSettledNumber contextRef="c0" decimals="0" id="ixv-17153" unitRef="pure">1</us-gaap:LossContingencyClaimsSettledNumber>
    <us-gaap:LossContingencyClaimsSettledNumber contextRef="c0" decimals="0" id="ixv-17154" unitRef="pure">1</us-gaap:LossContingencyClaimsSettledNumber>
    <us-gaap:LossContingencyClaimsSettledNumber
      contextRef="c205"
      decimals="0"
      id="ixv-17155"
      unitRef="pure">1</us-gaap:LossContingencyClaimsSettledNumber>
    <us-gaap:LossContingencyClaimsDismissedNumber
      contextRef="c206"
      decimals="0"
      id="ixv-17156"
      unitRef="pure">1</us-gaap:LossContingencyClaimsDismissedNumber>
    <rgr:LossContingencyNumberOfLawsuits contextRef="c0" decimals="0" id="ixv-17157" unitRef="pure">8</rgr:LossContingencyNumberOfLawsuits>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c206"
      decimals="0"
      id="ixv-17158"
      unitRef="pure">4</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c207"
      decimals="0"
      id="ixv-17159"
      unitRef="pure">2</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c208"
      decimals="0"
      id="ixv-17160"
      unitRef="pure">1</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyClaimsSettledNumber
      contextRef="c208"
      decimals="0"
      id="ixv-17161"
      unitRef="pure">1</us-gaap:LossContingencyClaimsSettledNumber>
    <rgr:LossContingencyNumberOfLawsuits contextRef="c15" decimals="0" id="ixv-17162" unitRef="pure">7</rgr:LossContingencyNumberOfLawsuits>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c208"
      decimals="0"
      id="ixv-17163"
      unitRef="pure">1</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c209"
      decimals="0"
      id="ixv-17164"
      unitRef="pure">4</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c210"
      decimals="0"
      id="ixv-17165"
      unitRef="pure">2</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c211"
      decimals="0"
      id="ixv-17166"
      unitRef="pure">2</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyClaimsSettledNumber
      contextRef="c212"
      decimals="0"
      id="ixv-17167"
      unitRef="pure">1</us-gaap:LossContingencyClaimsSettledNumber>
    <rgr:LossContingencyNumberOfLawsuits contextRef="c16" decimals="0" id="ixv-17168" unitRef="pure">5</rgr:LossContingencyNumberOfLawsuits>
    <us-gaap:LossContingencyNewClaimsFiledNumber contextRef="c16" decimals="0" id="ixv-17169" unitRef="pure">1</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c213"
      decimals="0"
      id="ixv-17170"
      unitRef="pure">4</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="c214"
      decimals="0"
      id="ixv-17171"
      unitRef="pure">3</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:ProductLiabilityAccrualPeriodExpense contextRef="c0" decimals="-5" id="ixv-17172" unitRef="usd">700000</us-gaap:ProductLiabilityAccrualPeriodExpense>
    <us-gaap:ProductLiabilityAccrualPeriodExpense contextRef="c15" decimals="-5" id="ixv-17173" unitRef="usd">1500000</us-gaap:ProductLiabilityAccrualPeriodExpense>
    <us-gaap:ProductLiabilityAccrualPeriodExpense contextRef="c16" decimals="-5" id="ixv-17174" unitRef="usd">1300000</us-gaap:ProductLiabilityAccrualPeriodExpense>
    <us-gaap:ProductLiabilityContingencyDisbursementPeriodEstimateAccrued contextRef="c3" id="ixv-17175">P3Y</us-gaap:ProductLiabilityContingencyDisbursementPeriodEstimateAccrued>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="c0" id="ixv-14291">&lt;p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Balance Sheet Roll-forward for Product Liability
Reserve&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;Cash Payments&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font: bold 8pt Times New Roman, Times, Serif"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;Balance &lt;br/&gt;
Beginning &lt;br/&gt;
of Year (a&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Accrued&lt;br/&gt;
 Legal&lt;br/&gt;
 Expense&lt;br/&gt;
 (Income) &lt;br/&gt;
(b)&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Legal Fees &lt;br/&gt;
(c)&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Settlements &lt;br/&gt;
(d)&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Balance &lt;br/&gt;
End of &lt;br/&gt;
Year (a)&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 35%; text-align: justify"&gt;2022&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;892&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(417&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(167&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-47"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;308&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;308&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;500&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(129&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-48"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;679&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;679&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;67&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(254&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-49"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;492&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(a)&lt;/td&gt;&lt;td style="text-align: justify"&gt;The beginning and ending liability balances represent accrued legal fees only. Settlements and administrative
costs are expensed as incurred. Only in rare instances is an accrual established for settlements.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(b)&lt;/td&gt;&lt;td style="text-align: justify"&gt;The expense accrued in the liability is for legal fees only. In 2022, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(c)&lt;/td&gt;&lt;td style="text-align: justify"&gt;Legal fees represent payments to outside counsel related to product liability matters.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify; text-indent: -0.5in"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(d)&lt;/td&gt;&lt;td style="text-align: justify"&gt;Settlements represent payments made to plaintiffs or allegedly injured parties in exchange for a full
and complete release of liability.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c215"
      decimals="-3"
      id="ix_0_fact"
      unitRef="usd">892000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c216"
      decimals="-3"
      id="ix_6_fact"
      unitRef="usd">-417000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <rgr:ValuationAllowancesAndReservesLegalFees
      contextRef="c216"
      decimals="-3"
      id="ix_9_fact"
      unitRef="usd">-167000</rgr:ValuationAllowancesAndReservesLegalFees>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c217"
      decimals="-3"
      id="ix_1_fact"
      unitRef="usd">308000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c217"
      decimals="-3"
      id="ix_2_fact"
      unitRef="usd">308000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c218"
      decimals="-3"
      id="ix_7_fact"
      unitRef="usd">500000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <rgr:ValuationAllowancesAndReservesLegalFees
      contextRef="c218"
      decimals="-3"
      id="ix_10_fact"
      unitRef="usd">-129000</rgr:ValuationAllowancesAndReservesLegalFees>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c219"
      decimals="-3"
      id="ix_3_fact"
      unitRef="usd">679000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c219"
      decimals="-3"
      id="ix_4_fact"
      unitRef="usd">679000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c220"
      decimals="-3"
      id="ix_8_fact"
      unitRef="usd">67000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <rgr:ValuationAllowancesAndReservesLegalFees
      contextRef="c220"
      decimals="-3"
      id="ix_11_fact"
      unitRef="usd">-254000</rgr:ValuationAllowancesAndReservesLegalFees>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c221"
      decimals="-3"
      id="ix_5_fact"
      unitRef="usd">492000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ProductLiabilityContingenciesTextBlock contextRef="c0" id="ixv-14483">&lt;p style="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Income Statement Detail for Product Liability
Expense&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif; border-spacing: 0px;"&gt;
  &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt;
    &lt;td style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Accrued &lt;br/&gt;
Legal&lt;br/&gt;
 Expense&lt;br/&gt;
 (b)&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Insurance &lt;br/&gt;
Premium &lt;br/&gt;
Expense &lt;br/&gt;
(e)&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="font: bold 8pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center; border-bottom: Black 1pt solid"&gt;Total &lt;br/&gt;
Product&lt;br/&gt;
 Liability &lt;br/&gt;
Expense&lt;/td&gt;&lt;td style="font: bold 8pt Times New Roman, Times, Serif; border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="white-space: nowrap; text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="white-space: nowrap; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 61%; text-align: justify"&gt;2022&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;(417&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,524&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 10%; text-align: right"&gt;1,107&lt;/td&gt;&lt;td style="white-space: nowrap; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;500&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,226&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,726&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;67&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;908&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;975&lt;/td&gt;&lt;td style="white-space: nowrap; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(b)&lt;/td&gt;&lt;td style="text-align: justify"&gt;The expense accrued in the liability is for legal fees only. In 2022, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0"&gt;&lt;/td&gt;&lt;td style="width: 0.5in"&gt;(e)&lt;/td&gt;&lt;td style="text-align: justify"&gt;Insurance expense represents the cost of insurance premiums.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ProductLiabilityContingenciesTextBlock>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c222"
      decimals="-3"
      id="ix_12_fact"
      unitRef="usd">-417000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ProductLiabilityAccrualPeriodExpense
      contextRef="c223"
      decimals="-3"
      id="ix_15_fact"
      unitRef="usd">1524000</us-gaap:ProductLiabilityAccrualPeriodExpense>
    <us-gaap:ProductLiabilityAccrualComponentAmount
      contextRef="c224"
      decimals="-3"
      id="ixv-17190"
      unitRef="usd">1107000</us-gaap:ProductLiabilityAccrualComponentAmount>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c225"
      decimals="-3"
      id="ix_13_fact"
      unitRef="usd">500000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ProductLiabilityAccrualPeriodExpense
      contextRef="c226"
      decimals="-3"
      id="ix_16_fact"
      unitRef="usd">1226000</us-gaap:ProductLiabilityAccrualPeriodExpense>
    <us-gaap:ProductLiabilityAccrualComponentAmount
      contextRef="c227"
      decimals="-3"
      id="ixv-17193"
      unitRef="usd">1726000</us-gaap:ProductLiabilityAccrualComponentAmount>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c228"
      decimals="-3"
      id="ix_14_fact"
      unitRef="usd">67000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ProductLiabilityAccrualPeriodExpense
      contextRef="c229"
      decimals="-3"
      id="ix_17_fact"
      unitRef="usd">908000</us-gaap:ProductLiabilityAccrualPeriodExpense>
    <us-gaap:ProductLiabilityAccrualComponentAmount
      contextRef="c230"
      decimals="-3"
      id="ixv-17196"
      unitRef="usd">975000</us-gaap:ProductLiabilityAccrualComponentAmount>
    <us-gaap:FinancialInstrumentsDisclosureTextBlock contextRef="c0" id="ixv-14629">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;21. Financial Instruments&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company does not hold or issue financial instruments
for trading or hedging purposes, nor does it hold interest rate, leveraged, or other types of derivative financial instruments. Fair values
of accounts receivable, accounts payable, accrued expenses and income taxes payable reflected in the December 31, 2024 and 2023 balance
sheets approximate carrying values at those dates.&lt;/p&gt;</us-gaap:FinancialInstrumentsDisclosureTextBlock>
    <us-gaap:SubsequentEventsTextBlock contextRef="c0" id="ixv-14638">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;22. Subsequent Events&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On February 14, 2025, the Company&#x2019;s Board
of Directors authorized a dividend of 24&#xa2; per share to shareholders of record on March 14, 2025.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On January 17, 2025, the Company announced the
appointment of Mr. Todd W. Seyfert as its next President &amp;amp; Chief Executive Officer, effective March 1, 2025. Mr. Christopher J. Killoy
will step down as President &amp;amp; Chief Executive Officer on that date and then serve as a Special Advisor through his planned retirement
from the Company in May 2025.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Mr. Kevin B. Reid, Sr. will step down as Vice
President, General Counsel, and Corporate Secretary on June 30, 2025 and then serve as Senior Counsel to the Company until his planned
retirement from the Company on June 30, 2026.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company&#x2019;s management has evaluated transactions
occurring subsequent to December 31, 2024 and determined that there were no other events or transactions during that period that would
have a material impact on the Company&#x2019;s results of operations or financial position.&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="c231"
      decimals="INF"
      id="ixv-17202"
      unitRef="usdPershares">0.24</us-gaap:DividendsPayableAmountPerShare>
    <rgr:DateOfRecord contextRef="c231" id="ixv-17203">2025-03-14</rgr:DateOfRecord>
    <ecd:MtrlTermsOfTrdArrTextBlock contextRef="c124" id="ixv-14765">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration:underline"&gt;Rule 10b5-1 Trading Plans&lt;/span&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;The adoption or termination
of contracts, instructions or written plans for the purchase and sale of the Company&#x2019;s securities by the Company&#x2019;s Section
16 officers or directors for the three months ended December 31, 2024, each of which is intended to satisfy the affirmative defense conditions
of Rule 10b5-1(c) under the Exchange Act (&#x201c;Rule 10b5-1 Plan&#x201d;), were as follows:&lt;/p&gt;&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse; border-spacing: 0px;"&gt; &lt;tr style="font: bold 8pt Times New Roman, Times, Serif; vertical-align: bottom"&gt; &lt;td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt"&gt;Name&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 20%; padding-right: 5.4pt; padding-left: 5.4pt"&gt;Title&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt"&gt;Action&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"&gt;Date &lt;br/&gt;
Adopted&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 15%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"&gt;Expiration &lt;br/&gt;
Date&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; border-top: Black 1pt solid; font: bold 8pt Times New Roman, Times, Serif; width: 20%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"&gt;Aggregate # of &lt;br/&gt;
Securities to be &lt;br/&gt;
Purchased/Sold&lt;/td&gt;&lt;/tr&gt; &lt;tr style="vertical-align: top; background-color: rgb(204,238,255)"&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"&gt;John A. Cosentino, Jr. (1)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"&gt;Director&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt"&gt;Adoption of Rule 10b5-1 Plan&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"&gt;November 14, 2024&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"&gt;November 14, 2025&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"&gt;5,000&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt;&lt;table cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; border-spacing: 0px;" width="100%"&gt;&lt;tr style="vertical-align: top"&gt;
&lt;td style="width: 0.25in"&gt;&lt;/td&gt;&lt;td style="width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td&gt;John A. Cosentino, Jr., a director of the Company, entered into a Rule 10b5-1 Plan on November 14, 2024. Mr. Cosentino&#x2019;s Rule
10b5-1 Plan provides for the potential sale of up to 5,000 shares of the Company&#x2019;s common stock. The Rule 10b5-1 Plan expires on
November 14, 2025, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.25in"&gt;None of the Company&#x2019;s directors or Section 16 officers
adopted or terminated a &#x201c;non-Rule 10b5-1 trading arrangement&#x201d; as defined in Item 408 of Regulation S-K during the three months
ended December 31, 2024.&lt;/p&gt;</ecd:MtrlTermsOfTrdArrTextBlock>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="c124" id="ixv-17204">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:TrdArrIndName contextRef="c232" id="ix_18_fact">John A. Cosentino, Jr.</ecd:TrdArrIndName>
    <ecd:TrdArrIndTitle contextRef="c232" id="ix_19_fact">Director</ecd:TrdArrIndTitle>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="c232" id="ix_20_fact">true</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:TrdArrAdoptionDate contextRef="c232" id="ix_21_fact">November 14, 2024</ecd:TrdArrAdoptionDate>
    <ecd:TrdArrExpirationDate contextRef="c232" id="ix_22_fact">November 14, 2025</ecd:TrdArrExpirationDate>
    <ecd:TrdArrSecuritiesAggAvailAmt
      contextRef="c233"
      decimals="0"
      id="ix_23_fact"
      unitRef="shares">5000</ecd:TrdArrSecuritiesAggAvailAmt>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="c124" id="ixv-17212">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="c124" id="ixv-17213">false</ecd:NonRule10b51ArrTrmntdFlag>
    <dei:EntityWellKnownSeasonedIssuer contextRef="c0" id="hidden-fact-0">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="c0" id="hidden-fact-1">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="c0" id="hidden-fact-2">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="c0" id="hidden-fact-3">Yes</dei:EntityInteractiveDataCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c3"
      id="hidden-fact-4"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c3"
      id="hidden-fact-5"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c4"
      id="hidden-fact-6"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommonStockValue
      contextRef="c5"
      id="hidden-fact-7"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommonStockValue
      contextRef="c6"
      id="hidden-fact-8"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommonStockSharesIssued
      contextRef="c5"
      id="hidden-fact-9"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:CommonStockSharesIssued
      contextRef="c6"
      id="hidden-fact-10"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="c0"
      id="hidden-fact-11"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c16"
      id="hidden-fact-12"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c15"
      id="hidden-fact-13"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c0"
      id="hidden-fact-14"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="c0"
      id="hidden-fact-15"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="c0"
      id="hidden-fact-16"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromSaleOfProductiveAssets
      contextRef="c0"
      id="hidden-fact-17"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:ContractWithCustomerLiability
      contextRef="c21"
      id="hidden-fact-18"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:DeferredIncomeRevenueRecognized
      contextRef="c16"
      id="hidden-fact-19"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:DeferredRevenueAdditions
      contextRef="c0"
      id="hidden-fact-20"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:ContractWithCustomerLiability
      contextRef="c3"
      id="hidden-fact-21"
      unitRef="usd"
      xsi:nil="true"/>
    <rgr:DeferredContractRevenueLiability
      contextRef="c3"
      id="hidden-fact-22"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="c0"
      id="hidden-fact-23"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="c15"
      id="hidden-fact-24"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:GainLossOnSaleOfOtherAssets
      contextRef="c0"
      id="hidden-fact-25"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c82"
      id="hidden-fact-26"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c82"
      id="hidden-fact-27"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c83"
      id="hidden-fact-28"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c84"
      id="hidden-fact-29"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c84"
      id="hidden-fact-30"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c85"
      id="hidden-fact-31"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c88"
      id="hidden-fact-32"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c88"
      id="hidden-fact-33"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c89"
      id="hidden-fact-34"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c92"
      id="hidden-fact-35"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c92"
      id="hidden-fact-36"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c93"
      id="hidden-fact-37"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c94"
      id="hidden-fact-38"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c94"
      id="hidden-fact-39"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c95"
      id="hidden-fact-40"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c106"
      id="hidden-fact-41"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c106"
      id="hidden-fact-42"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c107"
      id="hidden-fact-43"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c114"
      id="hidden-fact-44"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c114"
      id="hidden-fact-45"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="c115"
      id="hidden-fact-46"
      unitRef="shares"
      xsi:nil="true"/>
    <rgr:ValuationAllowancesAndReservesSettlements
      contextRef="c216"
      id="hidden-fact-47"
      unitRef="usd"
      xsi:nil="true"/>
    <rgr:ValuationAllowancesAndReservesSettlements
      contextRef="c218"
      id="hidden-fact-48"
      unitRef="usd"
      xsi:nil="true"/>
    <rgr:ValuationAllowancesAndReservesSettlements
      contextRef="c220"
      id="hidden-fact-49"
      unitRef="usd"
      xsi:nil="true"/>
    <dei:EntityCentralIndexKey contextRef="c0" id="ixv-17266">0000095029</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="c0" id="ixv-17267">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="c0" id="ixv-17268">FY</dei:DocumentFiscalPeriodFocus>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#ix_1_fact"
          xlink:label="ix_1_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_2_fact"
          xlink:label="ix_2_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_0_fact"
          xlink:label="ix_0_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_5_fact"
          xlink:label="ix_5_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_3_fact"
          xlink:label="ix_3_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_4_fact"
          xlink:label="ix_4_fact"
          xlink:type="locator"/>
        <link:footnote id="ix_0_footnote" xlink:label="ix_0_footnote" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">The beginning and ending liability balances represent accrued legal fees only. Settlements and administrative
costs are expensed as incurred. Only in rare instances is an accrual established for settlements.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_1_fact"
          xlink:to="ix_0_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_2_fact"
          xlink:to="ix_0_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_0_fact"
          xlink:to="ix_0_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_5_fact"
          xlink:to="ix_0_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_3_fact"
          xlink:to="ix_0_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_4_fact"
          xlink:to="ix_0_footnote"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#ix_14_fact"
          xlink:label="ix_14_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_6_fact"
          xlink:label="ix_6_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_13_fact"
          xlink:label="ix_13_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_7_fact"
          xlink:label="ix_7_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_12_fact"
          xlink:label="ix_12_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_8_fact"
          xlink:label="ix_8_fact"
          xlink:type="locator"/>
        <link:footnote id="ix_1_footnote" xlink:label="ix_1_footnote" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">The expense accrued in the liability is for legal fees only. In 2022, the costs incurred related
to cases that were settled or dismissed were less than the amounts accrued for these cases in prior years.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_14_fact"
          xlink:to="ix_1_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_6_fact"
          xlink:to="ix_1_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_13_fact"
          xlink:to="ix_1_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_7_fact"
          xlink:to="ix_1_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_12_fact"
          xlink:to="ix_1_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_8_fact"
          xlink:to="ix_1_footnote"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#ix_9_fact"
          xlink:label="ix_9_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_10_fact"
          xlink:label="ix_10_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_11_fact"
          xlink:label="ix_11_fact"
          xlink:type="locator"/>
        <link:footnote id="ix_2_footnote" xlink:label="ix_2_footnote" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Legal fees represent payments to outside counsel related to product liability matters.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_9_fact"
          xlink:to="ix_2_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_10_fact"
          xlink:to="ix_2_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_11_fact"
          xlink:to="ix_2_footnote"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#hidden-fact-48"
          xlink:label="hidden-fact-48"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#hidden-fact-47"
          xlink:label="hidden-fact-47"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#hidden-fact-49"
          xlink:label="hidden-fact-49"
          xlink:type="locator"/>
        <link:footnote id="ix_3_footnote" xlink:label="ix_3_footnote" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Settlements represent payments made to plaintiffs or allegedly injured parties in exchange for a full
and complete release of liability.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="hidden-fact-48"
          xlink:to="ix_3_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="hidden-fact-47"
          xlink:to="ix_3_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="hidden-fact-49"
          xlink:to="ix_3_footnote"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#ix_15_fact"
          xlink:label="ix_15_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_17_fact"
          xlink:label="ix_17_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_16_fact"
          xlink:label="ix_16_fact"
          xlink:type="locator"/>
        <link:footnote id="ix_5_footnote" xlink:label="ix_5_footnote" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Insurance expense represents the cost of insurance premiums.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_15_fact"
          xlink:to="ix_5_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_17_fact"
          xlink:to="ix_5_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_16_fact"
          xlink:to="ix_5_footnote"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#ix_19_fact"
          xlink:label="ix_19_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_22_fact"
          xlink:label="ix_22_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_21_fact"
          xlink:label="ix_21_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_23_fact"
          xlink:label="ix_23_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_20_fact"
          xlink:label="ix_20_fact"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#ix_18_fact"
          xlink:label="ix_18_fact"
          xlink:type="locator"/>
        <link:footnote id="ix_6_footnote" xlink:label="ix_6_footnote" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">John A. Cosentino, Jr., a director of the Company, entered into a Rule 10b5-1 Plan on November 14, 2024. Mr. Cosentino&#x2019;s Rule
10b5-1 Plan provides for the potential sale of up to 5,000 shares of the Company&#x2019;s common stock. The Rule 10b5-1 Plan expires on
November 14, 2025, or upon the earlier completion of all authorized transactions under such Rule 10b5-1 Plan.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_19_fact"
          xlink:to="ix_6_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_22_fact"
          xlink:to="ix_6_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_21_fact"
          xlink:to="ix_6_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_23_fact"
          xlink:to="ix_6_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_20_fact"
          xlink:to="ix_6_footnote"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="ix_18_fact"
          xlink:to="ix_6_footnote"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
