0001558370-24-007052.txt : 20240507 0001558370-24-007052.hdr.sgml : 20240507 20240507161542 ACCESSION NUMBER: 0001558370-24-007052 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 50 CONFORMED PERIOD OF REPORT: 20240331 FILED AS OF DATE: 20240507 DATE AS OF CHANGE: 20240507 FILER: COMPANY DATA: COMPANY CONFORMED NAME: COMPX INTERNATIONAL INC CENTRAL INDEX KEY: 0001049606 STANDARD INDUSTRIAL CLASSIFICATION: CUTLERY, HANDTOOLS & GENERAL HARDWARE [3420] ORGANIZATION NAME: 04 Manufacturing IRS NUMBER: 570981653 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-13905 FILM NUMBER: 24922095 BUSINESS ADDRESS: STREET 1: 5430 LBJ FREEWAY STREET 2: SUITE 1700 CITY: DALLAS STATE: TX ZIP: 75240-2620 BUSINESS PHONE: 9724481400 MAIL ADDRESS: STREET 1: 5430 LBJ FREEWAY STREET 2: SUITE 1700 CITY: DALLAS STATE: TX ZIP: 75240-2620 10-Q 1 cix-20240331x10q.htm 10-Q
0.490.311230700012314000DE0001049606--12-312024Q1false0001049606us-gaap:CommonClassAMemberus-gaap:CommonStockMember2024-03-310001049606us-gaap:RetainedEarningsMember2024-03-310001049606us-gaap:AdditionalPaidInCapitalMember2024-03-310001049606us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-310001049606us-gaap:CommonClassAMemberus-gaap:CommonStockMember2023-12-310001049606us-gaap:RetainedEarningsMember2023-12-310001049606us-gaap:AdditionalPaidInCapitalMember2023-12-310001049606us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001049606us-gaap:CommonClassAMemberus-gaap:CommonStockMember2023-03-310001049606us-gaap:RetainedEarningsMember2023-03-310001049606us-gaap:AdditionalPaidInCapitalMember2023-03-310001049606us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-310001049606us-gaap:CommonClassAMemberus-gaap:CommonStockMember2022-12-310001049606us-gaap:RetainedEarningsMember2022-12-310001049606us-gaap:AdditionalPaidInCapitalMember2022-12-310001049606us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001049606cix:SecurityProductsMember2024-01-012024-03-310001049606cix:MarineComponentsMember2024-01-012024-03-310001049606cix:SecurityProductsMember2023-01-012023-03-310001049606cix:MarineComponentsMember2023-01-012023-03-310001049606cix:ValhiIncMemberus-gaap:UnsecuredDebtMemberus-gaap:RelatedPartyMember2024-03-310001049606us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-012024-03-310001049606us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310001049606us-gaap:OperatingSegmentsMembercix:SecurityProductsMember2024-01-012024-03-310001049606us-gaap:OperatingSegmentsMembercix:MarineComponentsMember2024-01-012024-03-310001049606us-gaap:CorporateNonSegmentMember2024-01-012024-03-310001049606us-gaap:OperatingSegmentsMembercix:SecurityProductsMember2023-01-012023-03-310001049606us-gaap:OperatingSegmentsMembercix:MarineComponentsMember2023-01-012023-03-310001049606us-gaap:CorporateNonSegmentMember2023-01-012023-03-310001049606cix:ValhiIncMembercix:NLIndustriesMember2024-03-310001049606cix:NLIndustriesMembercix:CompXInternationalIncMember2024-03-310001049606cix:ContranCorporationMembercix:ValhiIncMember2024-03-310001049606cix:CurrentAssetsMember2024-01-012024-03-310001049606cix:CurrentAssetsMember2023-01-012023-12-310001049606cix:ValhiIncMemberus-gaap:UnsecuredDebtMemberus-gaap:RelatedPartyMember2023-01-012024-03-310001049606us-gaap:RetainedEarningsMember2024-01-012024-03-310001049606us-gaap:RetainedEarningsMember2023-01-012023-03-310001049606us-gaap:CommonClassAMember2024-03-310001049606us-gaap:CommonClassAMember2023-12-3100010496062023-03-3100010496062022-12-310001049606us-gaap:EstimateOfFairValueFairValueDisclosureMember2024-03-310001049606us-gaap:CarryingReportedAmountFairValueDisclosureMember2024-03-310001049606us-gaap:EstimateOfFairValueFairValueDisclosureMember2023-12-310001049606us-gaap:CarryingReportedAmountFairValueDisclosureMember2023-12-310001049606us-gaap:CorporateMember2024-03-310001049606cix:SecurityProductsMember2024-03-310001049606cix:MarineComponentsMember2024-03-310001049606cix:SecurityProductsMember2023-12-310001049606cix:MarineComponentsMember2023-12-3100010496062024-04-3000010496062024-01-012024-03-3100010496062023-01-012023-03-310001049606cix:CurrentAssetsMember2024-03-310001049606cix:CurrentAssetsMember2023-12-310001049606us-gaap:UnsecuredDebtMembercix:ValhiIncMember2016-08-012016-08-310001049606us-gaap:UnsecuredDebtMembercix:ValhiIncMember2016-08-3100010496062024-03-3100010496062023-12-31iso4217:USDxbrli:sharesiso4217:USDxbrli:sharesxbrli:pure

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

FORM 10-Q

QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF

THE SECURITIES EXCHANGE ACT OF 1934

For the quarter ended March 31, 2024

OR

TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF

THE SECURITIES EXCHANGE ACT OF 1934

For the transition period from _________ to _________

Commission file number 1-13905

COMPX INTERNATIONAL INC.

(Exact name of Registrant as specified in its charter)

DELAWARE

    

57-0981653

(State or other jurisdiction of
incorporation or organization)

(IRS Employer
Identification No.)

5430 LBJ Freeway, Suite 1700

Dallas, Texas 75240-2620

(Address of principal executive offices)

Registrant’s telephone number, including area code (972) 448-1400

Securities registered pursuant to Section 12(b) of the Act:

Title of each class

    

Trading Symbol(s)

    

Name of each exchange on which registered

Class A common stock

CIX

NYSE American

Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months and (2) has been subject to such filing requirements for the past 90 days.   Yes      No  

Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).   Yes      No  

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, smaller reporting company, or an emerging growth company. See definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

Large accelerated filer

Accelerated filer

Non-accelerated filer

  Smaller reporting company

Emerging growth company  

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. 

Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).   Yes      No  .

As of April 30, 2024, the registrant had 12,313,757 shares of Class A common stock, $.01 par value per share, outstanding.

COMPX INTERNATIONAL INC.

Index

    

Page

Part I.

FINANCIAL INFORMATION

Item 1.

Financial Statements

Condensed Consolidated Balance Sheets – December 31, 2023 and March 31, 2024 (unaudited)

- 3 -

Condensed Consolidated Statements of Income and Comprehensive Income (unaudited) – Three months ended March 31, 2023 and 2024

- 4 -

Condensed Consolidated Statements of Stockholders’ Equity (unaudited) – Three months ended March 31, 2023 and 2024

- 5 -

Condensed Consolidated Statements of Cash Flows (unaudited) – Three months ended March 31, 2023 and 2024

- 6 -

Notes to Condensed Consolidated Financial Statements (unaudited)

- 7 -

Item 2.

Management’s Discussion and Analysis of Financial Condition and Results of Operations

- 11 -

Item 3.

Quantitative and Qualitative Disclosure About Market Risk

- 16 -

Item 4.

Controls and Procedures

- 16 -

Part II.

OTHER INFORMATION

Item 1A.

Risk Factors

- 18 -

Item 6.

Exhibits

- 18 -

Items 2, 3, 4 and 5 of Part II are omitted because there is no information to report.

- 2 -

COMPX INTERNATIONAL INC.

CONDENSED CONSOLIDATED BALANCE SHEETS

(In thousands)

December 31, 

March 31, 

ASSETS

2023

2024

(unaudited)

Current assets:

 

  

  

Cash and cash equivalents

$

41,393

$

51,866

Marketable securities

35,354

23,701

Accounts receivable, net

 

17,061

 

17,329

Inventories, net

 

30,712

 

27,543

Prepaid expenses and other

 

2,110

 

1,807

Total current assets

 

126,630

 

122,246

Other assets:

 

  

 

  

Note receivable from affiliate

 

10,600

 

9,800

Goodwill

 

23,742

 

23,742

Other noncurrent assets

 

769

 

747

Total other assets

 

35,111

 

34,289

Property and equipment:

 

  

 

  

Land

 

5,390

 

5,390

Buildings

 

23,239

 

23,262

Equipment

 

74,315

 

74,650

Construction in progress

 

676

 

536

 

103,620

 

103,838

Less accumulated depreciation

 

77,757

 

78,654

Net property and equipment

 

25,863

 

25,184

Total assets

$

187,604

$

181,719

LIABILITIES AND STOCKHOLDERS' EQUITY

    

Current liabilities:

 

  

Accounts payable and accrued liabilities

$

15,745

$

9,697

Income taxes payable to affiliate

 

1,460

 

1,725

Total current liabilities

 

17,205

 

11,422

Noncurrent liabilities:

 

 

Deferred income taxes

1,509

1,359

Other

41

34

Total noncurrent liabilities

1,550

1,393

Stockholders' equity:

 

  

 

  

Preferred stock

 

 

Class A common stock

 

123

 

123

Additional paid-in capital

 

53,275

 

53,275

Retained earnings

 

115,457

 

115,517

Accumulated other comprehensive loss -
  unrealized loss on marketable securities

(6)

(11)

Total stockholders' equity

 

168,849

 

168,904

Total liabilities and stockholders’ equity

$

187,604

$

181,719

Commitments and contingencies (Note 1)

See accompanying Notes to Condensed Consolidated Financial Statements.

- 3 -

COMPX INTERNATIONAL INC.

CONDENSED CONSOLIDATED STATEMENTS OF INCOME AND COMPREHENSIVE INCOME

(In thousands, except per share data)

Three months ended

March 31, 

    

2023

    

2024

(unaudited)

Net sales

$

41,151

$

37,971

Cost of sales

 

28,447

 

28,304

Gross margin

 

12,704

 

9,667

Selling, general and administrative expense

 

5,664

 

5,952

Operating income

 

7,040

 

3,715

Interest income

 

947

 

1,224

Income before income taxes

 

7,987

 

4,939

Provision for income taxes

 

1,919

 

1,185

Net income

$

6,068

$

3,754

Other comprehensive loss, marketable securities adjustment:

Unrealized loss arising during year, net

(30)

(5)

Comprehensive income

$

6,038

$

3,749

Basic and diluted net income per common share

$

.49

$

.31

Basic and diluted weighted average shares outstanding

 

12,307

 

12,314

See accompanying Notes to Condensed Consolidated Financial Statements.

- 4 -

COMPX INTERNATIONAL INC.

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(In thousands)

Three months ended March 31, 2023 and 2024 (unaudited)

Accumulated

Class A

Additional

other

Total

common

paid-in

Retained

comprehensive

stockholders'

    

stock

    

capital

    

earnings

    

loss

equity

Balance at December 31, 2022

$

123

$

53,155

$

105,175

$

(17)

$

158,436

Net income

 

 

 

6,068

 

 

6,068

Cash dividends ($.25 per share)

 

 

 

(3,077)

 

 

(3,077)

Other comprehensive loss

(30)

(30)

Balance at March 31, 2023

$

123

$

53,155

$

108,166

$

(47)

$

161,397

Balance at December 31, 2023

$

123

$

53,275

$

115,457

$

(6)

$

168,849

Net income

 

 

 

3,754

 

 

3,754

Cash dividends ($.30 per share)

 

 

 

(3,694)

 

 

(3,694)

Other comprehensive loss

(5)

(5)

Balance at March 31, 2024

$

123

$

53,275

$

115,517

$

(11)

$

168,904

See accompanying Notes to Condensed Consolidated Financial Statements.

- 5 -

COMPX INTERNATIONAL INC.

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(In thousands)

Three months ended

March 31, 

    

2023

    

2024

(unaudited)

Cash flows from operating activities:

 

  

 

  

Net income

$

6,068

$

3,754

Depreciation and amortization

 

1,010

 

926

Deferred income taxes

 

(250)

 

(151)

Noncash interest income

(380)

(351)

Other, net

 

44

 

58

Change in assets and liabilities:

 

  

 

Accounts receivable, net

 

(842)

 

(264)

Inventories, net

 

1,012

 

3,107

Accounts payable and accrued liabilities

 

(4,543)

 

(5,990)

Accounts with affiliates

 

998

 

265

Prepaids and other, net

 

(52)

 

318

Net cash provided by operating activities

 

3,065

 

1,672

Cash flows from investing activities:

 

  

 

  

Capital expenditures

 

(270)

 

(305)

Marketable securities:

Purchases

 

(13,479)

 

Proceeds from maturities

4,000

12,000

Note receivable from affiliate:

 

  

 

  

Collections

 

7,800

 

6,000

Advances

 

(6,800)

 

(5,200)

Net cash provided by (used in) investing activities

 

(8,749)

 

12,495

Cash flows from financing activities:

Dividends paid

 

(3,077)

 

(3,694)

Cash and cash equivalents - net change from:

Operating, investing and financing activities

(8,761)

10,473

Balance at beginning of period

 

26,748

 

41,393

Balance at end of period

$

17,987

$

51,866

Supplemental disclosures -

Cash paid for income taxes

$

1,171

$

1,071

See accompanying Notes to Condensed Consolidated Financial Statements.

- 6 -

COMPX INTERNATIONAL INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS

March 31, 2024

(unaudited)

Note 1 – Organization and basis of presentation:

Organization. We (NYSE American: CIX) were approximately 87% owned by NL Industries, Inc. (NYSE: NL) at March 31, 2024. At March 31, 2024, Valhi, Inc. (NYSE: VHI) owned approximately 83% of NL’s outstanding common stock and a wholly-owned subsidiary of Contran Corporation owned approximately 91% of Valhi’s outstanding common stock. A majority of Contran’s outstanding voting stock is held directly by Lisa K. Simmons, Thomas C. Connelly (the husband of Ms. Simmons’ late sister) and various family trusts established for the benefit of Ms. Simmons, Mr. Connelly and their children and for which Ms. Simmons, Mr. Connelly or Mr. Connelly’s sister, as applicable, serve as trustee (collectively, the “Other Trusts”). With respect to the Other Trusts for which Mr. Connelly or his sister serves as trustee, the trustee is required to vote the shares of Contran voting stock held in such trusts in the same manner as Ms. Simmons. Such voting rights of Ms. Simmons last through April 22, 2030 and are personal to Ms. Simmons. The remainder of Contran’s outstanding voting stock is held by another trust (the “Family Trust”), which was established for the benefit of Ms. Simmons and her late sister and their children and for which a third-party financial institution serves as trustee. Consequently, at March 31, 2024 Ms. Simmons and the Family Trust may be deemed to control Contran, and therefore may be deemed to indirectly control the wholly-owned subsidiary of Contran, Valhi, NL and us.

Basis of presentation. Consolidated in this Quarterly Report are the results of CompX International Inc. and its subsidiaries. The unaudited Condensed Consolidated Financial Statements contained in this Quarterly Report have been prepared on the same basis as the audited Consolidated Financial Statements included in our Annual Report on Form 10-K for the year ended December 31, 2023 that we filed with the Securities and Exchange Commission (“SEC”) on February 28, 2024 (the “2023 Annual Report”). In our opinion, we have made all necessary adjustments (which include only normal recurring adjustments) in order to state fairly, in all material respects, our consolidated financial position, results of operations and cash flows as of the dates and for the periods presented. We have condensed the Consolidated Balance Sheet at December 31, 2023 contained in this Quarterly Report as compared to our audited Consolidated Financial Statements at that date, and we have omitted certain information and footnote disclosures (including those related to the Consolidated Balance Sheet at December 31, 2023) normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”). Our results of operations for the interim period ended March 31, 2024 may not be indicative of our operating results for the full year. The Condensed Consolidated Financial Statements contained in this Quarterly Report should be read in conjunction with our 2023 Consolidated Financial Statements contained in our 2023 Annual Report.

Our operations are reported on a 52 or 53-week year. For presentation purposes, annual and quarterly information in the Condensed Consolidated Financial Statements and accompanying notes are presented as ended March 31, 2023, December 31, 2023 and March 31, 2024. The actual dates of our annual and quarterly periods are April 2, 2023, December 31, 2023 and March 31, 2024, respectively. Unless otherwise indicated, references in this report to “we”, “us” or “our” refer to CompX International Inc. and its subsidiaries, taken as a whole.

- 7 -

Note 2 – Business segment information:

Three months ended

March 31, 

    

2023

    

2024

(In thousands)

Net sales:

 

  

 

  

Security Products

$

27,342

$

29,887

Marine Components

 

13,809

 

8,084

Total net sales

$

41,151

$

37,971

Operating income:

 

  

 

  

Security Products

$

5,379

$

5,450

Marine Components

 

3,317

 

34

Corporate operating expenses

 

(1,656)

 

(1,769)

Total operating income

 

7,040

 

3,715

Interest income

 

947

 

1,224

Income before income taxes

$

7,987

$

4,939

Intersegment sales are not material.

n

Note 3 – Marketable securities:

    

    

Amortized

    

Unrealized

    

Market value

    

cost basis

    

loss, net

(In thousands)

December 31, 2023:

 

  

 

  

 

  

Current assets

$

35,354

$

35,359

$

(5)

 

 

 

March 31, 2024:

Current assets

$

23,701

$

23,712

$

(11)

Our marketable securities consist of investments in debt securities, currently U.S. government treasuries. We classify our marketable securities as available-for-sale. The fair value of our marketable securities is generally determined using Level 2 inputs because although these securities are traded, in many cases the market is not active and the quarter-end valuation is generally based on the last trade of the quarter, which may be several days prior to quarter end. We accumulate unrealized gains and losses on marketable debt securities as part of accumulated other comprehensive income (loss), net of related deferred income taxes.

Note 4 – Accounts receivable, net:

December 31, 

March 31, 

    

2023

    

2024

(In thousands)

Accounts receivable, net:

 

  

 

  

Security Products

$

14,950

$

14,293

Marine Components

 

2,181

 

3,106

Allowance for doubtful accounts

 

(70)

 

(70)

Total accounts receivable, net

$

17,061

$

17,329

- 8 -

Note 5 – Inventories, net:

December 31, 

March 31, 

    

2023

    

2024

(In thousands)

Raw materials:

 

  

 

  

Security Products

$

3,569

$

3,352

Marine Components

 

2,169

 

1,634

Total raw materials

 

5,738

 

4,986

Work-in-process:

 

  

 

  

Security Products

 

13,879

 

12,969

Marine Components

 

5,163

 

4,746

Total work-in-process

 

19,042

 

17,715

Finished goods:

 

  

 

  

Security Products

 

3,175

 

2,712

Marine Components

 

2,757

 

2,130

Total finished goods

 

5,932

 

4,842

Total inventories, net

$

30,712

$

27,543

Note 6 – Accounts payable and accrued liabilities:

December 31, 

March 31, 

    

2023

    

2024

(In thousands)

Accounts payable:

 

  

 

  

Security Products

$

2,514

$

2,358

Marine Components

 

634

 

643

Corporate

73

Accrued liabilities:

 

  

 

Employee benefits

 

10,712

 

4,819

Taxes other than on income

 

285

 

453

Insurance

 

289

 

269

Deferred revenue

559

104

Customer tooling

 

145

 

254

Advances from customers

267

162

Other

 

340

 

562

Total accounts payable and accrued liabilities

$

15,745

$

9,697

Note 7 – Provision for income taxes:

Three months ended

March 31, 

    

2023

    

2024

(In thousands)

Expected tax expense, at the U.S. federal statutory
  income tax rate of 21%

$

1,677

$

1,037

State income taxes

 

240

 

145

Other, net

 

2

 

3

Total provision for income taxes

$

1,919

$

1,185

Comprehensive provision for income taxes allocable to:

Net income

$

1,919

$

1,185

Other comprehensive loss - marketable securities

(13)

(1)

Total

$

1,906

$

1,184

- 9 -

Note 8 – Financial instruments:

See Note 3 for information on how we determine the fair value of our marketable securities.

The following table presents the financial instruments that are not carried at fair value but which require fair value disclosure:

December 31, 2023

March 31, 2024

Carrying

Fair

Carrying

Fair

    

amount

    

value

    

amount

    

value

(In thousands)

Cash and cash equivalents

$

41,393

$

41,393

$

51,866

$

51,866

Accounts receivable, net

 

17,061

 

17,061

 

17,329

 

17,329

Accounts payable

 

3,148

 

3,148

 

3,074

 

3,074

Due to their near-term maturities, the carrying amounts of accounts receivable and accounts payable are considered equivalent to fair value.

Note 9 – Related party transactions:

From time to time, we may have loans and advances outstanding between us and various related parties pursuant to term and demand notes. We generally enter into these loans and advances for cash management purposes. When we loan funds to related parties, we are generally able to earn a higher rate of return on the loan than we would earn if we invested the funds in other instruments, and when we borrow from related parties, we are generally able to pay a lower rate of interest than we would pay if we had incurred third-party indebtedness. While certain of these loans to affiliates may be of a lesser credit quality than cash equivalent instruments otherwise available to us, we believe we have considered the credit risks in the terms of the applicable loans. In this regard, we have an unsecured revolving demand promissory note with Valhi under which, as amended, we agreed to loan Valhi up to $25 million. Our loan to Valhi, as amended, bears interest at prime plus 1.00%, payable quarterly, with all principal due on demand, but in any event no earlier than December 31, 2025. Loans made to Valhi at any time under the agreement are at our discretion. At March 31, 2024, the outstanding principal balance receivable from Valhi under the promissory note was $9.8 million. Interest income (including unused commitment fees) on our loan to Valhi was $.3 million for each of the three months ended March 31, 2023 and 2024, respectively.

Note 10 – Recent Accounting Pronouncements:

In November 2023, the Financial Accounting Standards Board (“FASB”) issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures. The ASU requires public companies to disclose significant segment expenses and other segment items on an annual and interim basis. The ASU also mandates public companies to provide all annual segment disclosures currently required annually in interim periods. Public companies will also be required to disclose the title and position of the chief operating decision maker (“CODM”) and explain how the CODM uses the reported measure of segment profit or loss in assessing segment performance and allocation of resources. The ASU is effective for us beginning with our 2024 Annual Report, and for interim reporting, in the first quarter of 2025, with retrospective application required. We are in the process of evaluating the additional disclosure requirements across all segments.

In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures. The ASU requires additional annual disclosure and disaggregation for the rate reconciliation, income taxes paid and income tax expense by federal, state and foreign tax jurisdictions. In addition, the standard increases the disclosure requirements for items included in the rate reconciliation that meet a quantitative threshold. The ASU is effective for us beginning with our 2025 Annual Report. The ASU may be applied prospectively; however, entities have the option to apply it retrospectively. We are in the process of evaluating the additional disclosure requirements.

- 10 -

ITEM 2.

MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS

Business Overview

We are a leading manufacturer of engineered components utilized in a variety of applications and industries. Through our Security Products segment we manufacture mechanical and electrical cabinet locks and other locking mechanisms used in postal, recreational transportation, office and institutional furniture, cabinetry, tool storage and healthcare applications. We also manufacture wake enhancement systems, stainless steel exhaust systems, gauges, throttle controls, trim tabs and related hardware and accessories for the recreational marine and other industries through our Marine Components segment.

General

This Quarterly Report on Form 10-Q contains forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995, as amended. Statements in this Quarterly Report that are not historical facts are forward-looking in nature and represent management’s beliefs and assumptions based on currently available information. In some cases, you can identify forward-looking statements by the use of words such as “believes,” “intends,” “may,” “should,” “could,” “anticipates,” “expects” or comparable terminology, or by discussions of strategies or trends. Although we believe that the expectations reflected in such forward-looking statements are reasonable, we do not know if these expectations will be correct. Such statements by their nature involve substantial risks and uncertainties that could significantly impact expected results. Actual future results could differ materially from those predicted. The factors that could cause actual future results to differ materially from those described herein are the risks and uncertainties discussed in this Quarterly Report and those described from time to time in our other filings with the SEC and include, but are not limited to, the following:

Future demand for our products,
Changes in our raw material and other operating costs (such as zinc, brass, aluminum, steel and energy costs) and our ability to pass those costs on to our customers or offset them with reductions in other operating costs,
Price and product competition from low-cost manufacturing sources (such as China),
The impact of pricing and production decisions,
Customer and competitor strategies including substitute products,
Uncertainties associated with the development of new products and product features,
Future litigation,
Our ability to protect or defend our intellectual property rights,
Potential difficulties in integrating future acquisitions,
Decisions to sell operating assets other than in the ordinary course of business,
Environmental matters (such as those requiring emission and discharge standards for existing and new facilities),
The ultimate outcome of income tax audits, tax settlement initiatives or other tax matters, including future tax reform,
Government laws and regulations and possible changes therein, including new environmental, health, safety, sustainability or other regulations,
General global economic and political conditions that disrupt our supply chain, reduce demand or perceived demand for component products or impair our ability to operate our facilities (including changes in the level of gross domestic product in various regions of the world, natural disasters, terrorist acts, global conflicts and public health crises),

- 11 -

Operating interruptions (including, but not limited to, labor disputes, leaks, natural disasters, fires, explosions, unscheduled or unplanned downtime, transportation interruptions, certain regional and world events or economic conditions and public health crises);
Technology related disruptions (including, but not limited to, cyber attacks; software implementation, upgrades or improvements; technology processing failures; or other events) related to our technology infrastructure that could impact our ability to continue operations, or at key vendors which could impact our supply chain, or at key customers which could impact their operations and cause them to curtail or pause orders; and
Possible disruption of our business or increases in the cost of doing business resulting from terrorist activities or global conflicts.

Should one or more of these risks materialize or if the consequences worsen, or if the underlying assumptions prove incorrect, actual results could differ materially from those currently forecasted or expected. We disclaim any intention or obligation to update or revise any forward-looking statement whether as a result of changes in information, future events or otherwise.

Operating Income Overview

In the first quarter of 2024 operating income decreased to $3.7 million compared to $7.0 million in the first quarter of 2023. The decrease in operating income in the first quarter of 2024 compared to 2023 is primarily due to lower Marine Components sales and gross margin.

We sell a large number of products that have a wide variation in selling price and manufacturing cost, which results in certain practical limitations on our ability to quantify the impact of changes in individual product sales quantities and selling prices on our net sales, cost of sales and gross margin. In addition, small variations in period-to-period net sales, cost of sales and gross margin can result from changes in the relative mix of our products sold.

Results of Operations

    

Three months ended

 

March 31, 

 

2023

%  

2024

%

(Dollars in thousands)

 

Net sales

$

41,151

 

100.0

%  

$

37,971

 

100.0

%

Cost of sales

 

28,447

 

69.1

 

28,304

 

74.5

Gross margin

 

12,704

 

30.9

 

9,667

 

25.5

Operating costs and expenses

 

5,664

 

13.8

 

5,952

 

15.7

Operating income

$

7,040

 

17.1

%  

$

3,715

 

9.8

%

Net sales. Net sales decreased $3.2 million in the first quarter of 2024 compared to the same period in 2023 due to lower Marine Components sales primarily to the towboat market, partially offset by higher Security Products sales to the government security market. See segment discussion below.

Cost of sales and gross margin. Cost of sales as a percentage of sales increased 5.4% in the first quarter of 2024 compared to the same period in 2023. As a result, gross margin as a percentage of sales decreased over the same period. Gross margin percentage decreased in the first quarter of 2024 compared to the same period in 2023 primarily due to lower gross margin percentages at both Marine Components and Security Products. See segment discussion below.

Operating costs and expenses. Operating costs and expenses consist primarily of sales and administrative-related personnel costs, sales commissions and advertising expenses directly related to product sales and administrative costs relating to business unit and corporate management activities, as well as any gains and losses on property and equipment. Operating costs and expenses for the first quarter of 2024 increased $.3 million compared to the same period in 2023 primarily due to higher employee salaries and benefits at Security Products. Operating costs and expenses as a percentage of net sales increased for the first quarter of 2024 due to the increased operating costs and expenses mentioned above and decreased coverage of operating costs and expenses as a result of lower sales.

- 12 -

Operating income. As a percentage of net sales, operating income for the first quarter of 2024 decreased compared to the same period of 2023 and was primarily impacted by the factors impacting sales, cost of sales, gross margin and operating costs and expenses. See segment discussion below.

Interest income. Interest income increased $.3 million in the first quarter of 2024 compared to the same period in 2023 primarily due to higher average interest rates and increased investment balances, somewhat offset by lower average balances on the revolving promissory note receivable from Valhi. See Notes 3 and 9 to our Condensed Consolidated Financial Statements.

Provision for income taxes. A tabular reconciliation of our actual tax provision to the U.S. federal statutory income tax rate is included in Note 7 to the Condensed Consolidated Financial Statements. Our operations are wholly within the U.S. and therefore our effective income tax rate is primarily reflective of the U.S. federal statutory rate and applicable state taxes.

Segment Results

The key performance indicator for our segments is operating income.

Three months ended

    

March 31, 

%  

    

2023

    

2024

    

Change

    

(Dollars in thousands)

Security Products:

 

  

 

  

 

  

 

Net sales

$

27,342

$

29,887

 

9

%  

Cost of sales

 

18,875

 

21,115

 

12

Gross margin

 

8,467

 

8,772

 

4

Operating costs and expenses

 

3,088

 

3,322

 

8

Operating income

$

5,379

$

5,450

 

1

Gross margin

 

31.0

%  

 

29.4

%  

Operating income margin

 

19.7

 

18.2

 

Security Products. Security Products net sales increased 9% in the first quarter of 2024 compared to the same period last year primarily due to $1.8 million higher sales to the government security market. Gross margin as a percentage of net sales decreased for the first quarter of 2024 compared to the same period in 2023 primarily due to the relative changes in fixed costs allocated to cost of sales during the quarter. Additionally, a less favorable customer and product mix in the first quarter of 2024 negatively impacted gross margin as a percentage of net sales over the comparable period. Operating income as a percentage of net sales decreased in the first quarter of 2024 compared to the same period in 2023 due to the factors impacting gross margin, as well as increased operating costs and expenses, including higher employee salaries and benefits of $.2 million.

Three months ended

March 31, 

%  

    

2023

    

2024

    

Change

    

(Dollars in thousands)

Marine Components:

 

  

 

  

 

  

 

Net sales

$

13,809

$

8,084

 

(41)

%  

Cost of sales

 

9,572

 

7,189

 

(25)

Gross margin

 

4,237

 

895

 

(79)

Operating costs and expenses

 

920

 

861

 

(6)

Operating income

$

3,317

$

34

 

(99)

Gross margin

 

30.7

%  

 

11.1

%  

Operating income margin

 

24.0

 

.4

 

Marine Components. Marine Components net sales decreased 41% in the first quarter of 2024 compared to the same period last year primarily due to the decline in sales to the towboat market. Relative to the first quarter of 2023, sales

- 13 -

were $4.3 million lower to the towboat market, $.7 million lower to the industrial market, $.3 million lower to the engine builder market and $.3 million lower to distributors. Gross margin as a percentage of net sales decreased in the first quarter of 2024 compared to the same period last year primarily due to higher cost inventory produced during the fourth quarter of 2023 and sold in the first quarter of 2024. Marine Components inventory produced during the fourth quarter of 2023 had a higher carrying value due to higher production cost per unit as a result of lower production volumes. Additionally, gross margin and operating income margin were unfavorably impacted by decreased coverage of production costs, operating costs and expenses on lower sales.

Outlook. In the first quarter of 2024, Security Products benefitted from increased sales of mechanical locks to the government security market while the other markets we serve were relatively flat compared to the same period of 2023. At Marine Components, the decline in sales to the towboat market as a result of the contraction in the recreational marine industry that began late in the first quarter of 2023 has continued. We are focused on aligning our resources with current demand levels, and particularly at Marine Components, we are adjusting inventory levels, operating expenses and labor resources to align with current demand while also preserving our ability to respond quickly when demand increases. Generally, raw material prices have stabilized, our supply chains are stable and transportation and logistical delays are minimal. We have adjusted our order patterns in response to the stability of our raw material supplies.

We expect Security Products sales in 2024 will be lower than 2023 as the sluggishness we have experienced across a variety of the markets Security Products serves has continued through the first quarter of 2024 with customers continuing to express uncertainty regarding sustained consumer demand levels. In addition, we do not expect 2024 sales to benefit from the pilot project to a government security customer we completed largely in the fourth quarter of 2023. After implementing aggressive price increases over the last several years to maintain operating margins, we expect only modest price increases in 2024. Overall, we expect Security Products gross margin will be comparable to 2023, although we expect operating income as a percentage of sales to decline due to our limited pricing power along with reduced coverage of selling, general and administrative costs as a result of lower expected sales. We expect Marine Components net sales for the full year of 2024 to be lower as compared to 2023 because we believe demand in the towboat market will further decline. The recreational marine industry faces strong headwinds due to higher interest rates and broader market weakness. Several original equipment boat manufacturers, including certain of our customers, have publicly announced reduced production schedules for 2024. Overall, we expect Marine Components gross margin as a percentage of net sales for 2024 to be lower than 2023 due to lower coverage of fixed overhead as a result of lower expected sales, and operating income as a percentage of net sales will similarly be lower as a result of reduced coverage of selling, general and administrative expenses due to lower expected sales. We ended 2023 with elevated inventory balances at our Marine Components segment as a result of increased orders of certain raw materials due to previously long lead times coupled with the rapidly changing towboat demand which created a misalignment of our raw materials with near term demand. We made significant progress in aligning our Marine Components inventory balances with current demand in the first quarter of 2024 and expect this alignment to be complete by mid-year 2024.  

Our expectations for our operations and the markets we serve are based on a number of factors outside our control. We have experienced global and domestic supply chain challenges, and any future impacts on our operations will depend on, among other things, any future disruption in our operations or our suppliers’ operations, the impact of economic conditions and geopolitical events on demand for our products or our customers’ and suppliers’ operations, all of which remain uncertain and cannot be predicted.

Liquidity and Capital Resources

Consolidated cash flows –

Operating activities. Trends in cash flows from operating activities, excluding changes in assets and liabilities, have generally been similar to the trends in operating earnings. Changes in assets and liabilities result primarily from the timing of production, sales and purchases. Changes in assets and liabilities generally tend to even out over time. However, period-to-period relative changes in assets and liabilities can significantly affect the comparability of cash flows from operating activities.

- 14 -

Our net cash provided by operating activities for the first three months of 2024 decreased by $1.4 million as compared to the first three months of 2023.  The decrease in net cash provided is primarily due to the net effects of:

A $3.3 million decrease in operating income in 2024,
A $1.6 million decrease in the amount of net cash used by relative changes in our inventories, receivables, prepaids, payables and non-tax related accruals in 2024, and
A $.3 million increase in interest received in 2024 due to higher interest rates and increased investment balances, partially offset by lower average balances on our loan to an affiliate.

Changes in working capital can have a significant effect on cash flows from operating activities. As shown below, the change in our average days sales outstanding from December 31, 2023 to March 31, 2024 varied by segment primarily as a result of relative changes in the timing of sales and collections relative to the end of the quarter. For comparative purposes, we have provided December 31, 2022 and March 31, 2023 numbers below.

December 31, 

March 31, 

December 31, 

March 31, 

Days Sales Outstanding:

    

2022

    

2023

    

2023

    

2024

Security Products

 

45 Days

 

44 Days

37 Days

 

43 Days

Marine Components

 

30 Days

 

36 Days

31 Days

 

35 Days

Consolidated CompX

 

41 Days

 

41 Days

36 Days

 

42 Days

Our average number of days in inventory decreased from December 31, 2023 to March 31, 2024 primarily due to the decrease at Marine Components as a result of higher sales in the first quarter of 2024 compared to the fourth quarter of 2023 and decreased inventory balances as a result of a planned reduction of certain raw materials with previously longer lead times as discussed in Outlook above. For comparative purposes, we have provided December 31, 2022 and March 31, 2023 numbers below.

December 31, 

March 31, 

December 31, 

March 31, 

Days in Inventory:

    

2022

    

2023

    

2023

    

2024

Security Products

 

101 Days

 

102 Days

77 Days

 

82 Days

Marine Components

 

95 Days

 

87 Days

175 Days

 

108 Days

Consolidated CompX

 

99 Days

 

97 Days

95 Days

 

89 Days

Investing activities. Our capital expenditures were $.3 million in each of the first three months of 2024 and 2023, respectively. During the first three months of 2024, Valhi repaid a net $.8 million under the promissory note ($5.2 million of gross borrowings and $6.0 million of gross repayments). During the first three months of 2023, Valhi repaid a net $1.0 million under the promissory note ($6.8 million of gross borrowings and $7.8 million of gross repayments). See Note 9 to our Condensed Consolidated Financial Statements.

During the first three months of 2024, we received gross proceeds totaling $12.0 million related to U.S. treasury bill maturities. During the first three months of 2023, we had gross purchases of U.S. treasury marketable securities aggregating $13.5 million and received gross proceeds totaling $4.0 million related to U.S. treasury bill maturities. See Note 3 to our Condensed Consolidated Financial Statements.

Financing activities. Financing activities consisted only of quarterly cash dividends. In February 2024, our board of directors increased our regular quarterly dividend from $.25 per share to $.30 per share beginning in the first quarter of 2024. The declaration and payment of future dividends and the amount thereof, if any, is discretionary and is dependent upon our results of operations, financial condition, cash requirements for our businesses, contractual requirements and restrictions and other factors deemed relevant by our board of directors. The amount and timing of past dividends is not necessarily indicative of the amount or timing of any future dividends which we might pay.

Future cash requirements –

Liquidity. Our primary source of liquidity on an ongoing basis is our cash flow from operating activities, which is generally used to (i) fund capital expenditures, (ii) repay short-term or long-term indebtedness incurred primarily for capital expenditures, investment activities or reducing our outstanding stock, (iii) provide for the payment of dividends (if declared), and (iv) lend to affiliates. From time-to-time, we will incur indebtedness, primarily to fund capital expenditures or business combinations.

- 15 -

Periodically, we evaluate liquidity requirements, alternative uses of capital, capital needs and available resources in view of, among other things, our capital expenditure requirements, dividend policy and estimated future operating cash flows. As a result of this process, we have in the past and may in the future seek to raise additional capital, refinance or restructure indebtedness, issue additional securities, modify our dividend policy or take a combination of such steps to manage our liquidity and capital resources. In the normal course of business, we may review opportunities for acquisitions, joint ventures or other business combinations in the component products industry. In the event of any such transaction, we may consider using available cash, issuing additional equity securities or increasing our indebtedness or that of our subsidiaries.

We believe that cash generated from operations together with cash on hand, as well as our ability to obtain external financing, will be sufficient to meet our liquidity needs for working capital, capital expenditures, debt service, dividends (if declared) and any amounts we might loan from time to time under the terms of our revolving loan to Valhi discussed in Note 9 to our Condensed Consolidated Financial Statements (which loans would be solely at our discretion) for both the next 12 months and five years. To the extent that our actual operating results or other developments differ from our expectations, our liquidity could be adversely affected.

All of our $75.6 million aggregate cash, cash equivalents and marketable securities at March 31, 2024 were held in the U.S.

Capital expenditures. Firm purchase commitments for capital projects in process at March 31, 2024 totaled $.4 million. We expect our capital expenditures for 2024 will be approximately $2.8 million primarily to meet our existing customer demand and those required to properly maintain our facilities and technology infrastructure.

Stock repurchase program. At March 31, 2024, we have 523,647 shares available for repurchase under a stock repurchase program authorized by our board of directors.

Commitments and contingencies. There have been no material changes in our contractual obligations since we filed our 2023 Annual Report and we refer you to that report for a complete description of these commitments.

Recent accounting pronouncements –

See Note 10 to our Condensed Consolidated Financial Statements.

Critical accounting policies –

There have been no changes in the first three months of 2024 with respect to our critical accounting policies presented in Management’s Discussion and Analysis of Financial Condition and Results of Operations in our 2023 Annual Report.

ITEM  3.QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK.

We are exposed to market risk from changes in interest rates and raw material prices. There have been no material changes in these market risks since we filed our 2023 Annual Report, and we refer you to Part I, Item 7A – “Quantitative and Qualitative Disclosure About Market Risk” in our 2023 Annual Report. See also Note 8 to our Condensed Consolidated Financial Statements.

ITEM  4.CONTROLS AND PROCEDURES.

Evaluation of Disclosure Controls and Procedures. We maintain disclosure controls and procedures which, as defined in Exchange Act Rule 13a-15(e), means controls and other procedures that are designed to ensure that information required to be disclosed in the reports that we file or submit to the SEC under the Securities Exchange Act of 1934, as amended (the “Act”), is recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information we are required to disclose in the reports that we file or submit to the SEC under the Act is accumulated and communicated to our management, including our principal executive officer and our principal financial officer, or persons performing similar functions, as appropriate to allow timely decisions to be made regarding required disclosure. Our management with the participation of Scott C. James, our President and Chief Executive Officer, and Amy

- 16 -

A. Samford, our Executive Vice President and Chief Financial Officer, has evaluated the design and operating effectiveness of our disclosure controls and procedures as of March 31, 2024. Based upon their evaluation, these executive officers have concluded that our disclosure controls and procedures are effective as of the date of such evaluation.

Internal Control Over Financial Reporting. Our management is responsible for establishing and maintaining adequate internal control over financial reporting which, as defined in Exchange Act Rule 13a-15(f), means a process designed by, or under the supervision of, our principal executive and principal financial officers, or persons performing similar functions, and effected by our board of directors, management and other personnel, 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, and includes those policies and procedures that:

Pertain to the maintenance of records that in reasonable detail accurately and fairly reflect the transactions and dispositions of our assets,
Provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with GAAP, and that receipts and expenditures are being made only in accordance with authorizations of our management and directors, and
Provide reasonable assurance regarding prevention or timely detection of an unauthorized acquisition, use or disposition of our assets that could have a material effect on our Condensed Consolidated Financial Statements.

Changes in Internal Control Over Financial Reporting. There have been no changes in our internal control over financial reporting during the quarter ended March 31, 2024 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

- 17 -

Part II. OTHER INFORMATION

ITEM  1A.Risk Factors.

Reference is made to the 2023 Annual Report for a discussion of risk factors related to our businesses.

ITEM  6.Exhibits.

Item No.

    

Exhibit Index

31.1

Certification

31.2

Certification

32.1

Certification

101.INS

Inline XBRL Instance Document – the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.

101.SCH

Inline XBRL Taxonomy Extension Schema

101.CAL

Inline XBRL Taxonomy Extension Calculation Linkbase

101.DEF

Inline XBRL Taxonomy Extension Definition Linkbase

101.LAB

Inline XBRL Taxonomy Extension Label Linkbase

101.PRE

Inline XBRL Taxonomy Extension Presentation Linkbase

104

Cover Page Interactive Data File (formatted as inline XBRL and contained in Exhibit 101)

- 18 -

SIGNATURES

Pursuant to the requirements 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.

    

COMPX INTERNATIONAL INC.

(Registrant)

Date:  May 7, 2024

By:

/s/ Amy A. Samford

Amy A. Samford

Executive Vice President and Chief Financial Officer

By:

/s/ Amy E. Ruf

Amy E. Ruf

Vice President and Controller

- 19 -

EX-31.1 2 cix-20240331xex31d1.htm EX-31.1

Exhibit 31.1

CERTIFICATION

I, Scott C. James, certify that:

1)I have reviewed this quarterly report on Form 10-Q of CompX International Inc.;
2)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;
3)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;
4)The registrant'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 Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
a)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;
b)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;
c)Evaluated the effectiveness of the registrant’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
d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5)The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of registrant's board of directors (or persons performing the equivalent function):
a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information; and
b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.

Date:  May 7, 2024

By:

/s/ Scott C. James

Scott C. James

President and Chief Executive Officer


EX-31.2 3 cix-20240331xex31d2.htm EX-31.2

Exhibit 31.2

CERTIFICATION

I, Amy A. Samford, certify that:

1)I have reviewed this quarterly report on Form 10-Q of CompX International Inc.;
2)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;
3)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;
4)The registrant'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 13d-15(f)) for the registrant and have:
a)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;
b)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;
c)Evaluated the effectiveness of the registrant’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
d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and
5)The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of registrant's board of directors (or persons performing the equivalent function):
a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information; and
b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.

Date: May 7, 2024

By:

/s/ Amy A. Samford

Amy A. Samford

Executive Vice President and Chief Financial Officer

(Principal Financial Officer)


EX-32.1 4 cix-20240331xex32d1.htm EX-32.1

Exhibit 32.1

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Quarterly Report of CompX International Inc. (the Company) on Form 10-Q for the period ending March 31, 2024, as filed with the Securities and Exchange Commission on the date hereof (the Report), I, Scott C. James, President and Chief Executive Officer of the Company and I, Amy A. Samford, Executive Vice President and Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. §1350, as adopted pursuant to §906 of the Sarbanes-Oxley Act of 2002, that:

(1)The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
(2)The information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.

By:

/s/ Scott C. James

Scott C. James

President and Chief Executive Officer

By:

/s/ Amy A. Samford

Amy A. Samford

Executive Vice President and Chief Financial Officer

Date: May 7, 2024

Note:  The certification the registrant furnishes in this exhibit is not deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, as amended, or otherwise subject to the liabilities of that Section.  Registration Statements or other documents filed with the Securities and Exchange Commission shall not incorporate this exhibit by reference, except as otherwise expressly stated in such filing.


EX-101.SCH 5 cix-20240331.xsd EX-101.SCH 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME AND COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Accounts receivable, net - Schedule of Accounts receivable, net (Detail) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Inventories, Net - Inventories, Net (Detail) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Accounts payable and accrued liabilities - Accounts payable and accrued liabilities (Detail) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Provision for income taxes - Provision for income taxes (Detail) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 00305 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Organization and basis of presentation link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Business segment information link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Provision for income taxes link:presentationLink link:calculationLink link:definitionLink 20102 - Disclosure - Organization and Basis of Presentation (Policies) link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - Business segment information (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Provision for income taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Organization and Basis of Presentation - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Business segment information - Schedule of Business Segment Information (Detail) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Marketable Securities (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Financial Instruments - Carrying Value and Estimated Fair Value of Financial Instruments (Detail) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Related Party Transactions - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Marketable securities link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Accounts receivable, net link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Inventories, net link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Accounts payable and accrued liabilities link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Financial Instruments link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Related party transactions link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Recent Accounting Pronouncements link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Marketable Securities (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Accounts receivable, net (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Inventories, net (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Accounts payable and accrued liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Financial Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 cix-20240331_cal.xml EX-101.CAL EX-101.DEF 7 cix-20240331_def.xml EX-101.DEF EX-101.LAB 8 cix-20240331_lab.xml EX-101.LAB EX-101.PRE 9 cix-20240331_pre.xml EX-101.PRE XML 11 R1.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Document and Entity Information - shares
3 Months Ended
Mar. 31, 2024
Apr. 30, 2024
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Mar. 31, 2024  
Document Transition Report false  
Entity File Number 1-13905  
Entity Registrant Name COMPX INTERNATIONAL INC  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 57-0981653  
Entity Address, Address Line One 5430 LBJ Freeway  
Entity Address, Address Line Two Suite 1700  
Entity Address, City or Town Dallas  
Entity Address, State or Province TX  
Entity Address, Postal Zip Code 75240-2620  
City Area Code 972  
Local Phone Number 448-1400  
Title of 12(b) Security Class A common stock  
Trading Symbol CIX  
Security Exchange Name NYSEAMER  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Non-accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   12,313,757
Entity Central Index Key 0001049606  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q1  
Amendment Flag false  
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Current assets:    
Cash and cash equivalents $ 51,866 $ 41,393
Marketable securities 23,701 35,354
Accounts receivable, net 17,329 17,061
Inventories, net 27,543 30,712
Prepaid expenses and other 1,807 2,110
Total current assets 122,246 126,630
Other assets:    
Note receivable from affiliate 9,800 10,600
Goodwill 23,742 23,742
Other noncurrent assets 747 769
Total other assets 34,289 35,111
Property and equipment:    
Land 5,390 5,390
Buildings 23,262 23,239
Equipment 74,650 74,315
Construction in progress 536 676
Gross property and equipment 103,838 103,620
Less accumulated depreciation 78,654 77,757
Net property and equipment 25,184 25,863
Total assets 181,719 187,604
Current liabilities:    
Accounts payable and accrued liabilities 9,697 15,745
Income taxes payable to affiliate 1,725 1,460
Total current liabilities 11,422 17,205
Noncurrent liabilities:    
Deferred income taxes 1,359 1,509
Other 34 41
Total noncurrent liabilities 1,393 1,550
Stockholders' equity:    
Preferred stock 0 0
Additional paid-in capital 53,275 53,275
Retained earnings 115,517 115,457
Accumulated other comprehensive loss - unrealized loss on marketable securities (11) (6)
Total stockholders' equity 168,904 168,849
Total liabilities and stockholders' equity 181,719 187,604
Commitments and contingencies (Note 1)
Class A Common Stock    
Stockholders' equity:    
Class A common stock $ 123 $ 123
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF INCOME AND COMPREHENSIVE INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
CONSOLIDATED STATEMENTS OF INCOME AND COMPREHENSIVE INCOME    
Net sales $ 37,971 $ 41,151
Cost of sales 28,304 28,447
Gross margin 9,667 12,704
Selling, general and administrative expense 5,952 5,664
Operating income 3,715 7,040
Interest income 1,224 947
Income before income taxes 4,939 7,987
Provision for income taxes 1,185 1,919
Net income 3,754 6,068
Other comprehensive loss, marketable securities adjustment:    
Unrealized loss arising during year, net (5) (30)
Comprehensive income $ 3,749 $ 6,038
Net income per basic share $ 0.31 $ 0.49
Net income per diluted share $ 0.31 $ 0.49
Weighted average shares outstanding - basic 12,314 12,307
Weighted average shares outstanding - diluted 12,314 12,307
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
$ in Thousands
Common stock
Class A Common Stock
Additional paid-in capital
Retained earnings
Accumulated other comprehensive loss
Total
Balance at Dec. 31, 2022 $ 123 $ 53,155 $ 105,175 $ (17) $ 158,436
Net income     6,068   6,068
Cash dividends     (3,077)   (3,077)
Other comprehensive loss       (30) (30)
Balance at Mar. 31, 2023 123 53,155 108,166 (47) 161,397
Balance at Dec. 31, 2023 123 53,275 115,457 (6) 168,849
Net income     3,754   3,754
Cash dividends     (3,694)   (3,694)
Other comprehensive loss       (5) (5)
Balance at Mar. 31, 2024 $ 123 $ 53,275 $ 115,517 $ (11) $ 168,904
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) - $ / shares
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY    
Cash dividends per share $ 0.30 $ 0.25
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Cash flows from operating activities:    
Net income $ 3,754 $ 6,068
Depreciation and amortization 926 1,010
Deferred income taxes (151) (250)
Noncash interest income (351) (380)
Other, net 58 44
Change in assets and liabilities:    
Accounts receivable, net (264) (842)
Inventories, net 3,107 1,012
Accounts payable and accrued liabilities (5,990) (4,543)
Accounts with affiliates 265 998
Prepaids and other, net 318 (52)
Net cash provided by operating activities 1,672 3,065
Cash flows from investing activities:    
Capital expenditures (305) (270)
Purchases 0 (13,479)
Proceeds from maturities 12,000 4,000
Note receivable from affiliate:    
Collections 6,000 7,800
Advances (5,200) (6,800)
Net cash provided by (used in) investing activities 12,495 (8,749)
Cash flows from financing activities:    
Dividends paid 3,694 3,077
Cash and cash equivalents - net change from:    
Operating, investing and financing activities 10,473 (8,761)
Balance at beginning of period 41,393 26,748
Balance at end of year 51,866 17,987
Supplemental disclosures -    
Cash paid for income taxes $ 1,071 $ 1,171
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Organization and basis of presentation
3 Months Ended
Mar. 31, 2024
Organization Consolidation And Presentation Of Financial Statements [Abstract]  
Organization and basis of presentation

Note 1 – Organization and basis of presentation:

Organization. We (NYSE American: CIX) were approximately 87% owned by NL Industries, Inc. (NYSE: NL) at March 31, 2024. At March 31, 2024, Valhi, Inc. (NYSE: VHI) owned approximately 83% of NL’s outstanding common stock and a wholly-owned subsidiary of Contran Corporation owned approximately 91% of Valhi’s outstanding common stock. A majority of Contran’s outstanding voting stock is held directly by Lisa K. Simmons, Thomas C. Connelly (the husband of Ms. Simmons’ late sister) and various family trusts established for the benefit of Ms. Simmons, Mr. Connelly and their children and for which Ms. Simmons, Mr. Connelly or Mr. Connelly’s sister, as applicable, serve as trustee (collectively, the “Other Trusts”). With respect to the Other Trusts for which Mr. Connelly or his sister serves as trustee, the trustee is required to vote the shares of Contran voting stock held in such trusts in the same manner as Ms. Simmons. Such voting rights of Ms. Simmons last through April 22, 2030 and are personal to Ms. Simmons. The remainder of Contran’s outstanding voting stock is held by another trust (the “Family Trust”), which was established for the benefit of Ms. Simmons and her late sister and their children and for which a third-party financial institution serves as trustee. Consequently, at March 31, 2024 Ms. Simmons and the Family Trust may be deemed to control Contran, and therefore may be deemed to indirectly control the wholly-owned subsidiary of Contran, Valhi, NL and us.

Basis of presentation. Consolidated in this Quarterly Report are the results of CompX International Inc. and its subsidiaries. The unaudited Condensed Consolidated Financial Statements contained in this Quarterly Report have been prepared on the same basis as the audited Consolidated Financial Statements included in our Annual Report on Form 10-K for the year ended December 31, 2023 that we filed with the Securities and Exchange Commission (“SEC”) on February 28, 2024 (the “2023 Annual Report”). In our opinion, we have made all necessary adjustments (which include only normal recurring adjustments) in order to state fairly, in all material respects, our consolidated financial position, results of operations and cash flows as of the dates and for the periods presented. We have condensed the Consolidated Balance Sheet at December 31, 2023 contained in this Quarterly Report as compared to our audited Consolidated Financial Statements at that date, and we have omitted certain information and footnote disclosures (including those related to the Consolidated Balance Sheet at December 31, 2023) normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”). Our results of operations for the interim period ended March 31, 2024 may not be indicative of our operating results for the full year. The Condensed Consolidated Financial Statements contained in this Quarterly Report should be read in conjunction with our 2023 Consolidated Financial Statements contained in our 2023 Annual Report.

Our operations are reported on a 52 or 53-week year. For presentation purposes, annual and quarterly information in the Condensed Consolidated Financial Statements and accompanying notes are presented as ended March 31, 2023, December 31, 2023 and March 31, 2024. The actual dates of our annual and quarterly periods are April 2, 2023, December 31, 2023 and March 31, 2024, respectively. Unless otherwise indicated, references in this report to “we”, “us” or “our” refer to CompX International Inc. and its subsidiaries, taken as a whole.

XML 18 R8.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Business segment information
3 Months Ended
Mar. 31, 2024
Segment Reporting [Abstract]  
Business segment information

Note 2 – Business segment information:

Three months ended

March 31, 

    

2023

    

2024

(In thousands)

Net sales:

 

  

 

  

Security Products

$

27,342

$

29,887

Marine Components

 

13,809

 

8,084

Total net sales

$

41,151

$

37,971

Operating income:

 

  

 

  

Security Products

$

5,379

$

5,450

Marine Components

 

3,317

 

34

Corporate operating expenses

 

(1,656)

 

(1,769)

Total operating income

 

7,040

 

3,715

Interest income

 

947

 

1,224

Income before income taxes

$

7,987

$

4,939

Intersegment sales are not material.

XML 19 R9.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Marketable securities
3 Months Ended
Mar. 31, 2024
Investments, Debt and Equity Securities [Abstract]  
Marketable securities

Note 3 – Marketable securities:

    

    

Amortized

    

Unrealized

    

Market value

    

cost basis

    

loss, net

(In thousands)

December 31, 2023:

 

  

 

  

 

  

Current assets

$

35,354

$

35,359

$

(5)

 

 

 

March 31, 2024:

Current assets

$

23,701

$

23,712

$

(11)

Our marketable securities consist of investments in debt securities, currently U.S. government treasuries. We classify our marketable securities as available-for-sale. The fair value of our marketable securities is generally determined using Level 2 inputs because although these securities are traded, in many cases the market is not active and the quarter-end valuation is generally based on the last trade of the quarter, which may be several days prior to quarter end. We accumulate unrealized gains and losses on marketable debt securities as part of accumulated other comprehensive income (loss), net of related deferred income taxes.

XML 20 R10.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts receivable, net
3 Months Ended
Mar. 31, 2024
Receivables [Abstract]  
Accounts receivable, net

Note 4 – Accounts receivable, net:

December 31, 

March 31, 

    

2023

    

2024

(In thousands)

Accounts receivable, net:

 

  

 

  

Security Products

$

14,950

$

14,293

Marine Components

 

2,181

 

3,106

Allowance for doubtful accounts

 

(70)

 

(70)

Total accounts receivable, net

$

17,061

$

17,329

XML 21 R11.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Inventories, net
3 Months Ended
Mar. 31, 2024
Inventory Disclosure [Abstract]  
Inventories, net

Note 5 – Inventories, net:

December 31, 

March 31, 

    

2023

    

2024

(In thousands)

Raw materials:

 

  

 

  

Security Products

$

3,569

$

3,352

Marine Components

 

2,169

 

1,634

Total raw materials

 

5,738

 

4,986

Work-in-process:

 

  

 

  

Security Products

 

13,879

 

12,969

Marine Components

 

5,163

 

4,746

Total work-in-process

 

19,042

 

17,715

Finished goods:

 

  

 

  

Security Products

 

3,175

 

2,712

Marine Components

 

2,757

 

2,130

Total finished goods

 

5,932

 

4,842

Total inventories, net

$

30,712

$

27,543

XML 22 R12.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts payable and accrued liabilities
3 Months Ended
Mar. 31, 2024
Payables And Accruals [Abstract]  
Accounts payable and accrued liabilities

Note 6 – Accounts payable and accrued liabilities:

December 31, 

March 31, 

    

2023

    

2024

(In thousands)

Accounts payable:

 

  

 

  

Security Products

$

2,514

$

2,358

Marine Components

 

634

 

643

Corporate

73

Accrued liabilities:

 

  

 

Employee benefits

 

10,712

 

4,819

Taxes other than on income

 

285

 

453

Insurance

 

289

 

269

Deferred revenue

559

104

Customer tooling

 

145

 

254

Advances from customers

267

162

Other

 

340

 

562

Total accounts payable and accrued liabilities

$

15,745

$

9,697

XML 23 R13.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Provision for income taxes
3 Months Ended
Mar. 31, 2024
Income Tax Disclosure [Abstract]  
Provision for income taxes

Note 7 – Provision for income taxes:

Three months ended

March 31, 

    

2023

    

2024

(In thousands)

Expected tax expense, at the U.S. federal statutory
  income tax rate of 21%

$

1,677

$

1,037

State income taxes

 

240

 

145

Other, net

 

2

 

3

Total provision for income taxes

$

1,919

$

1,185

Comprehensive provision for income taxes allocable to:

Net income

$

1,919

$

1,185

Other comprehensive loss - marketable securities

(13)

(1)

Total

$

1,906

$

1,184

XML 24 R14.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Financial Instruments
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Financial instruments

Note 8 – Financial instruments:

See Note 3 for information on how we determine the fair value of our marketable securities.

The following table presents the financial instruments that are not carried at fair value but which require fair value disclosure:

December 31, 2023

March 31, 2024

Carrying

Fair

Carrying

Fair

    

amount

    

value

    

amount

    

value

(In thousands)

Cash and cash equivalents

$

41,393

$

41,393

$

51,866

$

51,866

Accounts receivable, net

 

17,061

 

17,061

 

17,329

 

17,329

Accounts payable

 

3,148

 

3,148

 

3,074

 

3,074

Due to their near-term maturities, the carrying amounts of accounts receivable and accounts payable are considered equivalent to fair value.

XML 25 R15.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Related party transactions
3 Months Ended
Mar. 31, 2024
Related Party Transactions [Abstract]  
Related party transactions

Note 9 – Related party transactions:

From time to time, we may have loans and advances outstanding between us and various related parties pursuant to term and demand notes. We generally enter into these loans and advances for cash management purposes. When we loan funds to related parties, we are generally able to earn a higher rate of return on the loan than we would earn if we invested the funds in other instruments, and when we borrow from related parties, we are generally able to pay a lower rate of interest than we would pay if we had incurred third-party indebtedness. While certain of these loans to affiliates may be of a lesser credit quality than cash equivalent instruments otherwise available to us, we believe we have considered the credit risks in the terms of the applicable loans. In this regard, we have an unsecured revolving demand promissory note with Valhi under which, as amended, we agreed to loan Valhi up to $25 million. Our loan to Valhi, as amended, bears interest at prime plus 1.00%, payable quarterly, with all principal due on demand, but in any event no earlier than December 31, 2025. Loans made to Valhi at any time under the agreement are at our discretion. At March 31, 2024, the outstanding principal balance receivable from Valhi under the promissory note was $9.8 million. Interest income (including unused commitment fees) on our loan to Valhi was $.3 million for each of the three months ended March 31, 2023 and 2024, respectively.

XML 26 R16.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Recent Accounting Pronouncements
3 Months Ended
Mar. 31, 2024
New Accounting Pronouncements And Changes In Accounting Principles [Abstract]  
Recent Accounting Pronouncements

Note 10 – Recent Accounting Pronouncements:

In November 2023, the Financial Accounting Standards Board (“FASB”) issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures. The ASU requires public companies to disclose significant segment expenses and other segment items on an annual and interim basis. The ASU also mandates public companies to provide all annual segment disclosures currently required annually in interim periods. Public companies will also be required to disclose the title and position of the chief operating decision maker (“CODM”) and explain how the CODM uses the reported measure of segment profit or loss in assessing segment performance and allocation of resources. The ASU is effective for us beginning with our 2024 Annual Report, and for interim reporting, in the first quarter of 2025, with retrospective application required. We are in the process of evaluating the additional disclosure requirements across all segments.

In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures. The ASU requires additional annual disclosure and disaggregation for the rate reconciliation, income taxes paid and income tax expense by federal, state and foreign tax jurisdictions. In addition, the standard increases the disclosure requirements for items included in the rate reconciliation that meet a quantitative threshold. The ASU is effective for us beginning with our 2025 Annual Report. The ASU may be applied prospectively; however, entities have the option to apply it retrospectively. We are in the process of evaluating the additional disclosure requirements.

XML 27 R17.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Organization and Basis of Presentation (Policies)
3 Months Ended
Mar. 31, 2024
Organization Consolidation And Presentation Of Financial Statements [Abstract]  
Organization

Organization. We (NYSE American: CIX) were approximately 87% owned by NL Industries, Inc. (NYSE: NL) at March 31, 2024. At March 31, 2024, Valhi, Inc. (NYSE: VHI) owned approximately 83% of NL’s outstanding common stock and a wholly-owned subsidiary of Contran Corporation owned approximately 91% of Valhi’s outstanding common stock. A majority of Contran’s outstanding voting stock is held directly by Lisa K. Simmons, Thomas C. Connelly (the husband of Ms. Simmons’ late sister) and various family trusts established for the benefit of Ms. Simmons, Mr. Connelly and their children and for which Ms. Simmons, Mr. Connelly or Mr. Connelly’s sister, as applicable, serve as trustee (collectively, the “Other Trusts”). With respect to the Other Trusts for which Mr. Connelly or his sister serves as trustee, the trustee is required to vote the shares of Contran voting stock held in such trusts in the same manner as Ms. Simmons. Such voting rights of Ms. Simmons last through April 22, 2030 and are personal to Ms. Simmons. The remainder of Contran’s outstanding voting stock is held by another trust (the “Family Trust”), which was established for the benefit of Ms. Simmons and her late sister and their children and for which a third-party financial institution serves as trustee. Consequently, at March 31, 2024 Ms. Simmons and the Family Trust may be deemed to control Contran, and therefore may be deemed to indirectly control the wholly-owned subsidiary of Contran, Valhi, NL and us.

Basis of Presentation

Basis of presentation. Consolidated in this Quarterly Report are the results of CompX International Inc. and its subsidiaries. The unaudited Condensed Consolidated Financial Statements contained in this Quarterly Report have been prepared on the same basis as the audited Consolidated Financial Statements included in our Annual Report on Form 10-K for the year ended December 31, 2023 that we filed with the Securities and Exchange Commission (“SEC”) on February 28, 2024 (the “2023 Annual Report”). In our opinion, we have made all necessary adjustments (which include only normal recurring adjustments) in order to state fairly, in all material respects, our consolidated financial position, results of operations and cash flows as of the dates and for the periods presented. We have condensed the Consolidated Balance Sheet at December 31, 2023 contained in this Quarterly Report as compared to our audited Consolidated Financial Statements at that date, and we have omitted certain information and footnote disclosures (including those related to the Consolidated Balance Sheet at December 31, 2023) normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”). Our results of operations for the interim period ended March 31, 2024 may not be indicative of our operating results for the full year. The Condensed Consolidated Financial Statements contained in this Quarterly Report should be read in conjunction with our 2023 Consolidated Financial Statements contained in our 2023 Annual Report.

Our operations are reported on a 52 or 53-week year. For presentation purposes, annual and quarterly information in the Condensed Consolidated Financial Statements and accompanying notes are presented as ended March 31, 2023, December 31, 2023 and March 31, 2024. The actual dates of our annual and quarterly periods are April 2, 2023, December 31, 2023 and March 31, 2024, respectively. Unless otherwise indicated, references in this report to “we”, “us” or “our” refer to CompX International Inc. and its subsidiaries, taken as a whole.

XML 28 R18.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Business segment information (Tables)
3 Months Ended
Mar. 31, 2024
Segment Reporting [Abstract]  
Schedule of Business Segment Information

Three months ended

March 31, 

    

2023

    

2024

(In thousands)

Net sales:

 

  

 

  

Security Products

$

27,342

$

29,887

Marine Components

 

13,809

 

8,084

Total net sales

$

41,151

$

37,971

Operating income:

 

  

 

  

Security Products

$

5,379

$

5,450

Marine Components

 

3,317

 

34

Corporate operating expenses

 

(1,656)

 

(1,769)

Total operating income

 

7,040

 

3,715

Interest income

 

947

 

1,224

Income before income taxes

$

7,987

$

4,939

XML 29 R19.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Marketable Securities (Tables)
3 Months Ended
Mar. 31, 2024
Investments, Debt and Equity Securities [Abstract]  
Schedule of marketable securities

    

    

Amortized

    

Unrealized

    

Market value

    

cost basis

    

loss, net

(In thousands)

December 31, 2023:

 

  

 

  

 

  

Current assets

$

35,354

$

35,359

$

(5)

 

 

 

March 31, 2024:

Current assets

$

23,701

$

23,712

$

(11)

XML 30 R20.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts receivable, net (Tables)
3 Months Ended
Mar. 31, 2024
Receivables [Abstract]  
Schedule of Accounts Receivable, net

December 31, 

March 31, 

    

2023

    

2024

(In thousands)

Accounts receivable, net:

 

  

 

  

Security Products

$

14,950

$

14,293

Marine Components

 

2,181

 

3,106

Allowance for doubtful accounts

 

(70)

 

(70)

Total accounts receivable, net

$

17,061

$

17,329

XML 31 R21.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Inventories, net (Tables)
3 Months Ended
Mar. 31, 2024
Inventory Disclosure [Abstract]  
Inventories, net

December 31, 

March 31, 

    

2023

    

2024

(In thousands)

Raw materials:

 

  

 

  

Security Products

$

3,569

$

3,352

Marine Components

 

2,169

 

1,634

Total raw materials

 

5,738

 

4,986

Work-in-process:

 

  

 

  

Security Products

 

13,879

 

12,969

Marine Components

 

5,163

 

4,746

Total work-in-process

 

19,042

 

17,715

Finished goods:

 

  

 

  

Security Products

 

3,175

 

2,712

Marine Components

 

2,757

 

2,130

Total finished goods

 

5,932

 

4,842

Total inventories, net

$

30,712

$

27,543

XML 32 R22.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts payable and accrued liabilities (Tables)
3 Months Ended
Mar. 31, 2024
Payables And Accruals [Abstract]  
Accounts payable and accrued liabilities

December 31, 

March 31, 

    

2023

    

2024

(In thousands)

Accounts payable:

 

  

 

  

Security Products

$

2,514

$

2,358

Marine Components

 

634

 

643

Corporate

73

Accrued liabilities:

 

  

 

Employee benefits

 

10,712

 

4,819

Taxes other than on income

 

285

 

453

Insurance

 

289

 

269

Deferred revenue

559

104

Customer tooling

 

145

 

254

Advances from customers

267

162

Other

 

340

 

562

Total accounts payable and accrued liabilities

$

15,745

$

9,697

XML 33 R23.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Provision for income taxes (Tables)
3 Months Ended
Mar. 31, 2024
Income Tax Disclosure [Abstract]  
Provision for Income Taxes

Three months ended

March 31, 

    

2023

    

2024

(In thousands)

Expected tax expense, at the U.S. federal statutory
  income tax rate of 21%

$

1,677

$

1,037

State income taxes

 

240

 

145

Other, net

 

2

 

3

Total provision for income taxes

$

1,919

$

1,185

Comprehensive provision for income taxes allocable to:

Net income

$

1,919

$

1,185

Other comprehensive loss - marketable securities

(13)

(1)

Total

$

1,906

$

1,184

XML 34 R24.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Financial Instruments (Tables)
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Carrying Value and Estimated Fair Value of Financial Instruments

See Note 3 for information on how we determine the fair value of our marketable securities.

The following table presents the financial instruments that are not carried at fair value but which require fair value disclosure:

December 31, 2023

March 31, 2024

Carrying

Fair

Carrying

Fair

    

amount

    

value

    

amount

    

value

(In thousands)

Cash and cash equivalents

$

41,393

$

41,393

$

51,866

$

51,866

Accounts receivable, net

 

17,061

 

17,061

 

17,329

 

17,329

Accounts payable

 

3,148

 

3,148

 

3,074

 

3,074

XML 35 R25.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Organization and Basis of Presentation - Additional Information (Detail)
Mar. 31, 2024
NL Industries | CompX International Inc  
Basis Of Presentation And Significant Accounting Policies [Line Items]  
Percentage of ownership held by parent company 87.00%
Valhi Inc | NL Industries  
Basis Of Presentation And Significant Accounting Policies [Line Items]  
Percentage of ownership held by parent company 83.00%
Contran Corporation | Valhi Inc  
Basis Of Presentation And Significant Accounting Policies [Line Items]  
Percentage of ownership held by parent company 91.00%
XML 36 R26.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Business segment information - Schedule of Business Segment Information (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Net sales:    
Total net sales $ 37,971 $ 41,151
Operating income (loss):    
Total operating income 3,715 7,040
Interest income 1,224 947
Income before income taxes 4,939 7,987
Security Products    
Net sales:    
Total net sales 29,887 27,342
Marine Components    
Net sales:    
Total net sales 8,084 13,809
Operating Segments | Security Products    
Operating income (loss):    
Total operating income 5,450 5,379
Operating Segments | Marine Components    
Operating income (loss):    
Total operating income 34 3,317
Corporate    
Operating income (loss):    
Total operating income $ (1,769) $ (1,656)
XML 37 R27.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Marketable Securities (Details) - Current assets - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Marketable securities    
Market value $ 23,701 $ 35,354
Amortized cost basis 23,712 35,359
Unrealized loss, net $ (11) $ (5)
XML 38 R28.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts receivable, net - Schedule of Accounts receivable, net (Detail) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Accounts Notes And Loans Receivable [Line Items]    
Allowance for doubtful accounts $ (70) $ (70)
Total accounts receivable, net 17,329 17,061
Security Products    
Accounts Notes And Loans Receivable [Line Items]    
Accounts receivable, gross 14,293 14,950
Marine Components    
Accounts Notes And Loans Receivable [Line Items]    
Accounts receivable, gross $ 3,106 $ 2,181
XML 39 R29.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Inventories, Net - Inventories, Net (Detail) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Inventory [Line Items]    
Total raw materials $ 4,986 $ 5,738
Total work-in-process 17,715 19,042
Total finished goods 4,842 5,932
Total inventories, net 27,543 30,712
Security Products    
Inventory [Line Items]    
Total raw materials 3,352 3,569
Total work-in-process 12,969 13,879
Total finished goods 2,712 3,175
Marine Components    
Inventory [Line Items]    
Total raw materials 1,634 2,169
Total work-in-process 4,746 5,163
Total finished goods $ 2,130 $ 2,757
XML 40 R30.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts payable and accrued liabilities - Accounts payable and accrued liabilities (Detail) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Accrued liabilities:    
Employee benefits $ 4,819 $ 10,712
Deferred revenue 104 559
Insurance 269 289
Taxes other than on income 453 285
Advances from customers 162 267
Customer tooling 254 145
Other 562 340
Total accounts payable and accrued liabilities 9,697 15,745
Security Products    
Accounts payable:    
Accounts payable 2,358 2,514
Marine Components    
Accounts payable:    
Accounts payable 643 $ 634
Corporate    
Accounts payable:    
Accounts payable $ 73  
XML 41 R31.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Provision for income taxes - Provision for income taxes (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Income tax expense:    
Deferred income tax benefit $ (151) $ (250)
Total provision for income taxes 1,185 1,919
Expected tax expense, at the U.S. federal statutory income tax rate of 21% $ 1,037 $ 1,677
U.S. federal statutory income tax rate 21.00% 21.00%
State income taxes $ 145 $ 240
Other, net 3 2
Total provision for income taxes 1,185 1,919
Disclosure Other Comprehensive Income Loss Tax Effects Allocation to Component Of Other Comprehensive Income Loss [Abstract]    
Other comprehensive loss - marketable securities (1) (13)
Total $ 1,184 $ 1,906
XML 42 R32.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Financial Instruments - Carrying Value and Estimated Fair Value of Financial Instruments (Detail) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Carrying Amount    
Fair Value Balance Sheet Grouping Financial Statement Captions [Line Items]    
Cash and cash equivalents $ 51,866 $ 41,393
Accounts receivable, net 17,329 17,061
Accounts payable 3,074 3,148
Fair Value    
Fair Value Balance Sheet Grouping Financial Statement Captions [Line Items]    
Cash and cash equivalents 51,866 41,393
Accounts receivable, net 17,329 17,061
Accounts payable $ 3,074 $ 3,148
XML 43 R33.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Related Party Transactions - Additional Information (Detail) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 15 Months Ended
Aug. 31, 2016
Mar. 31, 2024
Mar. 31, 2023
Mar. 31, 2024
Dec. 31, 2023
Related Party Transaction [Line Items]          
Other Receivable, after Allowance for Credit Loss, Noncurrent   $ 9,800   $ 9,800 $ 10,600
Interest income   1,224 $ 947    
Unsecured Revolving Demand Promissory | Valhi Inc          
Related Party Transaction [Line Items]          
Maximum loan amount $ 25,000        
Interest rate on loans repayment 1.00%        
Principal due on demand effective date Dec. 31, 2025        
Unsecured Revolving Demand Promissory | Related Party [Member] | Valhi Inc          
Related Party Transaction [Line Items]          
Other Receivable, after Allowance for Credit Loss, Noncurrent   $ 9,800   9,800  
Interest income       $ 300  
EXCEL 44 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( /*!IU@'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " #R@:=8!I>Q >\ K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>R$[7%4SJR\9.&PQ6V.C-V&IK&B?&UDCZ]G.R-J5L#["CI=^? M/H%J$Z3I(K[%+F DA^EN\$V;I EK=B *$B"9 WJ=RIQH@C9' MO4>H.'\ CZ2M)@TCL @SD:G:&FDB:NKB&6_-C ]?L9E@U@ VZ+&E!*(4P-0X M,9R&IH8K8(011I]^"FAGXE3]$SMU@)V30W)SJN_[LE],N;R#@,_7E_=IW<*U MB71K,/]*3M(IX)I=)G\L'I\VSTQ5O+HO^++@JTW%I5A*L=J.KC=^5V'?6;=S M_]CX(JAJ^'47ZAM02P,$% @ \H&G6)E&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" #R@:=8WH5,R.\% #-'P & 'AL+W=OFT,^="@B^[5]<9EW-;VUW76VU[UTX_1(C*'!";A'7] M[YN @K<3 F6.+PK(\Y@?>7M(1@?*OO =(0*\1F',;SL[(?;O+8M[.Q)A?D7W M)):_;"B+L)"G;&OQ/2/83T51:"';'E@1#N+.>)1>6[#QB"8B#&*R8( G4839 M\8Z$]'#;@9WSA>=@NQ/J@C4>[?&6+(GX?;]@\LS*7?P@(C$/: P8V=QV)O"] MZSA*D-[Q1T ._.(8*)0UI5_4R$H7*2Y?CW9-K) M_U,)+X_/[O,'@!3=TLW=9 ^FU0M:8)85>-2,/EK('5B_(%ZB:P5 7#L@VDL G$$LSAK M'NHQ=P'?84;XR!+RWY3&\D[.=YDS*G%VP".-Q8Y+5Y_X7^LM6-S+Z"[>6P/9-[T4Q6 MQSW1D9KET.Y^U"$950V1^CE2OQ[2QP0S05AX!,]D3YG0X9FM!$MT#\4UJAKB M#7*\03V\!6$!57W;!W*$T%:>V2GO=Z4=SZAOR#G,.8C1[ M;7#(M15IE#4$O,X!KXV%.@W*]T%(P#R)UH3IP,P>L N=&[NO0S,*&Z+=Y&@W M==">R390@ZBLQ#F.M"W4[.,^/2X^@=E\-7V>3U:SI_GD(2OC;.[JF(UN#9FA M7Q1)MMI.L^^ TLA.R>@#+@TB04[RF]?^R@JW#],=<1F45/DBY ! MZR"O\"N8^;*S!IO R_)%>8NNL.P/N_;--1ST'2VO4=R4%Q6\J [OQ/>E.W]W M/@ /\C[P%.OKU6S9[SDV>+C[%=PS0@[XJ*4V6C2E+@(1-$80,_7J0+749LME M$@B2%1$.;5L+W48N@D4P@N9H\Q;:56>R&Z_H(=8"5P0M'(98E[9=L[ I9Y&6 MH#GCO.7,QZL%HR]![.G;M-ES]4D+VD9L@D5N@N:X\Q9T0;G (?@KV)[[H+>R7#3AO!"1;)"9HCSRH0,@_2#8#HA_6/8$F\A,F:U$)6 MA"HS4-=; 5!NY, M.^2854VQBGB$S%GF7'M@^NKM<+PEI3FXPFC^>3F=/$Z?M8QM1")41")4*Q*Y M"6/J;2U[14OK4DXDB79]J<+QLW95RC6KFG(6(0C5"D&S6!"6K5&JUVY\!M=R MFAW+.-O(/:C(/:A6[E&OI?*=16:!+67:X:?"9T[C+O8\(FVDB9\9:GG;R#^H MR#^H5OY91C*@@;N$RY^YOM6:?4K7&,RZIGQ%[$&U8L\T(FRKNN7/TD'L9"B( M]CC65ZS9L!RTC<"#BL"#S'GE7)$[(BO2A-=PK4T6=X'7*79 MSP0SXSINA5VW"U'7@=J]A38"D%,$(,><6_)%W$O2>WE1.\)6F)6M4IME31F+ M .28X\I;QM.Z?#FEV>ZCOA[;"#_.Q9:8.:I,)*"?0898.\94&)2.JF;=_P6S M+C9,U827[B-S^?:3Q"+;.\VOYGO5DW2'UBINSS:Z'[&:+SD(R49*[:NA'/!8 MMG>)\HOX@W\$?_P=02P,$% @ M\H&G6,]78=3;!@ =" !@ !X;"]W;W)KNG2F-)?DEX2 S$+B6&0I,0^\^&T[M>?9 ?+ M+VL%YO*EV,YJ_>QJ=Y]=N4=/7#SD:\8D>DZ3+#\>K:7<'(['>;1F:9A_X1N6 MJ5]67*2A5+?B?IQO! N7Y:(T&1/'\<=I&&>CV5'Y[$;,CG@ADSAC-P+E19J& MXN64)?SI>(1'KP]^Q/=KJ1^,9T>;\)XMF/RYN1'J;EQK6<8IR_*89TBPU?'H M!!_.W7)!*?%WS)[RQC72IMQQ_J!O+I;'(TM7[7^5QBMC[L*UA?Q M)"__14];66>$HB*7/-TN5@C2.*O^AL];1S068'=@ =DN(&]=0+<+:&EHA:PT MZRR4X>Q(\"7%V=5N\C ^_['HHOB.+/B#C$!9;/[E/CID M?B$$RR0*\YS)_!"RIU+@P@ITEAWFFS!BQR.51CD3CVPT^_TW[#M_0M;M25G+ M5EK;2FW:9_,P7R.U:RC2%^Q7$3^&B3(>W,5*E5^JTJ7@<>;AB>\?C1^;YO2E M7$RGM)9JX71KG*X5IPJ1!R;#NX2AG$6%B&7,0(R5&J_Q=D(#!W($5WHU@FS!>(O:L6"EG>1F= M7*Z9@( &?0]-G*"#LR]$,'9@F),:YL0*\Y;+,%'%N%DJ(("3/D!"B-M-&DC, M]^D R&D-%J%2=Q M*!E(2D[/Z=.)XW1V!I#"CN\,[ QN<"RVXOW*^?(I3A(0&8:JF$NZT':)M:$9 M_L-6RMF&3<:SW>&]U=2$$+C=_(.$_.D 2L-F AL8D_,"^0QA!G)[&*'H:)@?1)"4]P@+O, ,H%OC,P M+!##7X2^:PN2=M;:,-'Q+['%?/2)OPI6S3=!BI M%!"%"O^&)T!']*>VJ3_M-AN %/8"=Z ($L-HQ,YH%UG$4X9D^,P,>LGM+2:! M)CCB=2$#4JX_5%X,W1$[W;5'E%W.[?,:QB[ITA\D%A!GR+N&_DA@388KTVSN MS H-7 A$B]7K$"I#QGH#DAAEF) MG5FOA\9OTJ=&VBOP?1EWH*^FACJIG3JKV,[ J &/KH IKGDHM3VZ J0\;R 1 MJ>%-BJW!O9 \>ECS9,E$_D=)FO(%#&UJY=_WAO:^M+6M-@1,[01\(UYC.]?V M@_;VN;7;TUI%VL@:9Y[VR?%DN8QUBZ4B2!\U':B6-@HWL8HH$&1_-/0H";I% M?*=8&ZQA3&IGS!],ANJ1:K9"D0T-+Q0@/16YN$N.L)P[U!I2PXYTY]EGW<56 M([DJ9RJLUOKCSB-#B6[-#U"1"18F\;^:[/43-4^D;SW9I7V6/,#=@UU(:&"P MH(9(Z5N(- >R&,0)4*0_F3K=N@C+3=R!:DT-EU+[*%G!;13$LLEZ,WSH2!7H MBT&YX;Z8&DJDNZ;--(VEGBHJX!'/I(I[ED7:E(_E.1_^!$*W*H8+'@(KY_]7 MU#;>,"VU,^T\41,+.D':"2HY%H.5JHVNI!DMRJ:7Y0PZ3;N>P0JB".&Y^$]??X[Z&XC[,<)6RE M5CE? I7,HOK$7=U(OBF_$M]Q*7E:7JY9J+9)"ZC?5UPEX_9&?WBN_Z/![#]0 M2P,$% @ \H&G6(SZY^]]! 5Q !@ !X;"]W;W)K/K9::V,W%R]UDQLDT# MR)5D.]=?WQ5@L$&03"=? L*[JTF*98; MFA!QQ;8TA5]6C"=$PI"O3;'EE(294A*;MF5Y9D*BU!@-LF\/?#1@.QE'*7W@ M2.R2A/"?MS1FAZ&!C>.'QVB]D>J#.1ILR9HNJ'S>/G 8F:65,$IH*B*6(DY7 M0^,&7X]QH!0RB>\1/8B3=Z26\L+8JQK/I^M/XU6SPLYH4(.F;QCRB4FZ'1-U!(5V07RT=V^$:+!?64O26+ M1?87'0I9RT#+G9 L*92!((G2_$G>"D><*( =O8)=*-AU!;=%P2D4G&RA.5FV MK#LBR6C V0%Q)0W6U$OFFTP;5A.E:AL7DL.O$>C)T7@^NYO,%I,[!&^+^5_W M=S=/,%@\P6,ZF3TMT/PKNI^-Y],)NIDIJ>G#X^0;J-Q_GQQ_N$3/BSOTVY?? MD=@03@6*4O2T83M!TE!.4^Z!D]ESVO?@?WI>Y\M\ M+E<_EXH*UV)+EG1HP+47E.^I,?KU%^Q9?^@<\4G&SMSBEFYQNZR/9A#$!(FI M]L3DJEZFJD+5?N3X@8\'YOX4ORGE8MRKI,ZX>B57KY-KS(1$;-7.EJOW3F:U M^X[EUMAT4J[KZ]F\DLWK9/N3,R$@/O!UE.K0O,:D@>?Y-;*F$+;]$_XS,K\D M\SO)%A"IHW1]@=8TI9S$"&(!(B&$M$A(3E0P1_0-LI.@.G"_P=0+>G8-7"/D M>2W<_9*[W\D]WU)%EZXAB"U9HH7K-^9U?-RKP36%P*>6'BXHX8).N/M44KAX MLH,MT&RF73^+3:&@[21BJ\HLUCMPB@F]4"@V:$&()'G37YK"V"F#&SA!#50C MY0?]-M23)(@[41\XVT=990*L[Z/BID]QO[[?.JD !RVH=H5JOQL5VW>[4#X_ MBKWZ=FND/,OKMZ!5:0QWY[&YW%". V2P495>G"E8XA'%RH@O5))7F**!%WN M>"0CJ!)(^#<4.% 3RFOM6CXUDWV6M7/?5+D,=R>SYQ2*[#CZEX:92Q#A<-X@ MJ(3@#'C\I(1?H)1*K2/74"P>ME-MV>:L>-2?BV[XYNL)ZQ]OU5=<];Z56;REGN:57T"Q70%)JTK'YAXWL7F M \FV62/XPB2TE=GK!CI_RI4 _+YB3!X':H+R?PFC_P!02P,$% @ \H&G M6(CO0$$ ! @Q( !@ !X;"]W;W)K73V[K$:,]R1_H3%"#'Q/DXQ.E)BQS;6JTC!&*:179(,R_L^*Y"ED M?)JO5;K)$8P*4)JHAJ8Y:@IQIDS'Q=I#/AV3+4MPAAYR0+=I"O/_;E%"]A-% M5UX7'O$Z9F)!G8XW<(T6B#UM'G(^4RN6"*KB7*C7P=Z 2@LOF"T MIT=C(+;R3,B+F-Q%$T43$:$$A4Q00/[8H1E*$L'$X_BW)%4JGP)X/'YE#XK- M\\T\0XIF)/F*(Q9/%%R?XC*C=D"[Z0)+3X!?O25E- N*6,I"68 M1Y#B[/"$WTLAC@"F=0)@E "C 3"&)P!F"3 ; -T] ;!*@-4,Z90'NP3830_F M"8!3 IQ"^X-8A=(>9' ZSLD>Y,*:LXE!D:X"S07&F:BL!3=+/EDL^>.S?[]<@'G 9_/9WQ_GGSS_XC!.!4#25->9'ROX0N8)9!2 M< /*Q858E%#.NBEOH@B+RH4)V$ <#7B (=Q@!A,)E]?-]8@8?T-1!!#,,YRM M93OTSX03AMMTFT#&60B+40Y"DO).$(M7=(= 0JB,->AF79+6?E2>_JH&C*H& MC(+'.L%S"Q.8A0A !CP47@%3_P ,S3!DF3PP.063Z%J[J6Z88W5WG)JVC6WJ MMEVW\B1,FJT/&V9^VVR@#^LV@83*=BW3J\K^.,)PK)A.C$ MBO/@FFY@B"8*3S-%^0XIT_>_Z8[VEZR8^R3S#F3VD1J.YK@-6?OT&)SQ6%/? MJM2W.M6?01J#".]PA$XTE4[\I1GHD\RS6GH,3&W8J%J_3Y?!.9>U'-A5#NS. M',S?WJIN.YDNS4:?9%Z?9+XMT[G1CKIM:IEPJDPX;VW1GV%>M6A3E@FGY;[= MHMLVLA8M8=)1)F'3;LIOO=]MLT% ND# YKFN-Y*JXE2KN+QQ+!U8F_- -]DGDC2>=R1LT4].DR..>RE@-=^_]:H_5V M='5379J07MF\7MG\DJVF=J.[!=TV]705$9"YK@CK5FLZM%U7'R>X3M>XXR"!*TX4+L:/PX21 M37%#?R:,W_>+88Q@A')AP/]?$<)>)^+27WUWFOX 4$L#!!0 ( /*!IU@! M!0^*9P( -<% 8 >&PO=V]R:W-H965T&ULK51M;YLP M$/XK%IOV(FV!0-I.68*4D%2-UKRLI)OVT85+L HVLYVD^_<[&\+2BE:;M"_8 M=[[G\3V'[P8'(>]5!J#)0Y%S-70RK?HN&';3!N' M&PY*NH48]&VYDFBY#4O*"N"*"4XD;(;.J-N/>B;>!GQC<% G>V*4W EQ;XQ9 M.G0\DQ#DD&C#0''90P1Y;H@PC9\UI]-<:8"G^R/[I=6.6NZH@DCDWUFJLZ'S MR2$I;.@NUS?B< 6UGC/#EXA0Y*=TJ*HP9A!P7BUTH>Z#B< Y&D' M^#7 ?PKH/0,(:D!@A5:965D3JFDXD.) I(E&-K.QM;%H5,.X^8NQEGC*$*?# M:+F83!?Q=$)P%R^O9Y/1&HUXCM7 U9B;N<%-ZCS&51[^,WD$9"Z03)$I3R%] MC'=14R/,/PH;^R\2SJGLD*#[@?B>WVO))_I[>/!".D%3Y\#R!<_7^5^JVU; MZH)>^P6FV_NJI D,'6QG!7(/3OCF5??<^]RF_C^1/:I%KZE%[R7V,*(J(RG; MLQ1XJD@)LGHV;:(KI@O+9";2/O0Z^#_VIUK:8ORS)JC*T3WID0+DUHX.11*Q MX[IZ58VWF4XCVY1/_&.<6M60^4-3C3Q\,UO&%YP)[7E9CI#*T*&TG MW@F-?6VW&4Y>D"8 SS="Z*-A+FAF>?@;4$L#!!0 ( /*!IUB6Z.U*Y@4 M )P9 8 >&PO=V]R:W-H965T&ULK5EK;YLZ&/XK5LYT MM$G+@@V!T--&:M-6F[1>M'1GGQTPC37 F>TD[?GUQP8* 1O:2OD2+GG]^GFO MCVU.]XS_%FM")'C*TERW?/Y*=O*E.;DG@.QS3+,GR](RO9G(SAZ>?&#/JZE M?C&9GV[P(UD2^7-SS]73I-82TXSD@K(<<)*>'C_HOVZ,%X9L\*" M+%CZB\9R?3::C4!,$KQ-Y0^V_THJ@Z9:7\124?R"?2D;N",0;85D6358(@H\?/H$/@.;@8Q.)U(A4;KG$35S!?ES*AG M9A?Q6(-$E4F B2<94!5'L>2YH]EZE))B3BQN:U4Z]G5ZK(^$1L\ ;TCZ_55V(YA'+B,W,:33G.:2J/P9"G=@3N\:&&U"LQZ,LQKC;!#CG5P3_AGD1-I@S8P9I[,. M*%/$\^R0PAI2.-P:UCA_)+I_8B&(%$46IA2O:-K?%L)CMH4C*6M9#YV&6_2R*^):T,LH*')D^FX:ATT5N M$?.FGML#O:%'.,@]#?0]E6N DT1!Q;('JFM@0/ZT"]04"L,>KH -A\%A$KOG M9(-I7-8H&^PEE:9V)G2[B45H/.W+@X;2X#"G::HM.O&&LQU5ZRFP>K:N.*RX M+>3E!Z@+W)1RG8,@M)$W' ?]=RV3J"HY\99E$APDS_UO"!4-$ZK:;5<;>&MPD,F2OAD; MBU0PZXU-PZ7H%2Z-=SB/[%F#;%R)3&06,;\?6L.5:)@KK>W]XU84>X-/UIYI MM<)D2(B\L-L^+&+C6>#UE"EJJ!1Y[VKU"V%AJK1 M*]M/JB.8QWK-1F.KN1:F]X MW5A:"'L6^+ GF UCHV'&OL"I;FD 2[ BCS3/-6*6 &469?;SVH;-4R.AIG\ ##1Z^T$/!/,K4!-@I["F=\]E[&(P2"<]92)VQ"Y.TSD MR^UFDY),%89:M<541"D3>M$&QM8CO:-R^+&TM4UO.-Q]A<,+(E*]"R2,OWHV M52GS6Q40= ]^;%(PZ.;_Y."<.R/\L3C^%Z#81Y;GQ/7;^A/#>7&PWGE_ 4\6 MY8>"1DWYW>(&] 3U!YGY_U!+ P04 " #R@:=8/0(GESD# "!!P & 'AL M+W=O]@'VY^^Z[[RZ7<:7TVF2(%IYS M(I$KGS-)5KT)3:&2)#\I%&/5Z'\.<<1E,Q]ZV MT-.Q*JW@$A<:3)GG3&_F*%0U"?K!UG#'5YEUAG Z+M@*[]$^% M-M[!%27B. MTG E06,Z"6;]L_G0^7N'[QPKLW,&5\E2J;6[7">3H.<(H<#8.@1&?T]X@4(X M(*+QV& &;4H7N'O>HE_YVJF6)3-XH<0/GMAL$IP&D&#*2F'O5/4%FWI&#B]6 MPOA?J&K?DT\!Q*6Q*F^"B4'.9?W/GAL==@).>V\$1$U Y'G7B3S+2V;9=*Q5 M!=IY$YH[^%)]-)'CTC7EWFIZRBG.3F_UBDG^A]42R<25R VH%*C'!J7U3\:A MI5PN(HP;W'F-&[V!.X ;)6UFX+-,,'D='Q+'EFBT)3J/#@+>,-V%0;\#42\: M'L ;M(4//-[@/85?*&F4X$E]FY$,BYWJX3:%*RZ9C#D3<$]&I+&T!G[-EL9J M&JS?^P2J\P_WYWQOVJ M+$(?CH].HW[_'-Z7YNRUWWR?3Q=N2PVT:[2_&F :Z:4OE+:8@$.'401*PVCP MH4)2$8P6&^"RWF/.E4NP&;K>)[1D M*,O+%-!E;\,=&(MCE1=,;KA<@20]:JX-"XID!M -/=#(QMEV9@<=N,08\R7J MUN3Q7GD-N_"-.-%(.>Z.B5=*D39[ZR&]N$IJ!K-"N<5^D/_O+.UE*:Q MN-XU-JIF:_2@#N""-/T)UR2@EKX]5.JUC+N>-"?I3;DT/.%,<]=[%%BCPZ)$5QLN7B3F8 BCR4!9-3*U.J.G4D.;-F$Z.[%K,)KU61,[@61-9E2<7C' J^G5J> MM5/>JFQJQ19)84WK0MWP[5=HXQEJO(07TGS)MK'UQQ9):JEXV3HC@S)G MS9\^M'GH.<3N&PY^Z^ ;WLU!AN4GJNAL(OB6"&V-:'IA0C7>2"YGNBA+)7 W M1S\UF]<2-5(2"1O,M2(Y:RJ-*9LX"D_0=D[2HLT;-/\-M(!</AJ.3OAR-QB=MEOBS"#JSR'9#MW=TY W)@BG KE+/;WT MGMX2Q,8,&$D27C/5O,*=MIMAY\W3O3=O!B"68I,S20I8HZL[B(86$[P5] '=9)_]!5!+ P04 " #R@:=8)WRQ MT\4# !8"0 & 'AL+W=O ME-8MA+-)S0J\1_M0WVF:A3U*SBN4ABL)&A?3X"J^N!XY>V_PE>/*[(S!*9DK M]>@FM_DTB!PA%)A9A\#H9XDW*(0#(AI/'6;0AW2.N^,-^B>OG;3,F<$;);[Q MW);3X#R '!>L$?:+6OV&G9ZQP\N4,/X_K%K;,47,&F-5U3G3O.*R_67/W3GL M.)Q'!QR2SB'QO-M GN4'9MELHM4*M+,F-#?P4KTWD>/27>5;'A= M)TSMF_A=='E$P:A7,#J& M_N]OZCC,'\HBI/#VS7D2QY>P%_7";T?IY?_^>U4I;?G?F,.#I)HB_'"SV7*# M)1,-0J:,=>^/&Q#*T"5*VGH-=W(KP9:J,72YYI3N.<-JCGJ32.EA83>-UI0< MP(Q!:_KE7R =#]+QZ/7"KSL+)^/3G]9/$K.RS_/_[MP/RDG2P?LH?K40)[MR MXGBKY\]&4[79DR)T'U28Z4K4 OCV;=&8:B*]KJWE@,J8)R/6\#"\'T*AEJBE M,P=+=V[(#LT0OM$="^++%VM0!\,R^ELR+MSZ&?6D,\,$#N&O$F'!N.Z2A4@= MAJ ,*E"B9H(8Y6A14UVEM&L,EP7\CDL4D)"0NB$]<\Q88Q"8<'E5E)1>]+)? M,-)(.AB5O8%37S&YAHSZA'&F'0474RK;]2!?>MSF4\,TA3]#FCOBS#>J%_Q< MQ\E!26]/QV/;6$[A#L( 5B6G1*H8>3AV2^<..5L;J#57&JS:V )%\Z?-LJRI M&L&H'C3;QU=0(S>>H7MFI$+)W7-\=;GN/FJ"=7RV>$28R&G*D8H*8>E:.*GF MDN8()P[WM'V_Y*6Q]:!.BI0F^<;,LF?*BGUU,]SI=A7JPO=TEY"-M&WCZU?[ MSX:KMEMNS=MO#GI^A9,K<$&NT?#]. #=]O%V8E7M>^=<6>K$?EC2IP]J9T#[ M"T7EM)NX /W'U.P?4$L#!!0 ( /*!IUCH=#X*E@( &L& 9 >&PO M=V]R:W-H965T3-$V0DG;3 M^M I:O;Q,.W!P$U -3:S3=+^^UT;PLC61*JT%^Q[?<_QN38*QV.3:)-QX6M$-K$!_K982([=CR8H2 MN"H$)Q+6,V?N3Q:1J;<%WPK8J=ZX3M/U<&;Y4 M,&6?9-?4!E<.26NE1=F"44%9\&:DS^TY] !C[P@@: &!U=UL9%7>44WCJ10[ M(DTULIF);=6B45S!S:6LM,35 G$ZGJ>IJ+E6>, I%%N:,!@0#GKJ:F0W-6[: M,BT:IN (4T@>!->Y(A]X!MDAWD55G;1@+VT1G"1\H/*2A/Z !%X0G> +NU9# MRQ<>X7OL.E3DQSQ16N(K\?.U1AN>Z'4>\YE,5$53F#GX'2B06W#B\S-_Z-V< M4!EU*J-3[&^ZD--,GX4&$I'SLW'@^S?D&/'$5GCAS7\;[W"#,@%I+V^?Q-M, M\X,,7FMH[_8?@O?WG.A% ]\;DCE#&Z,\!8*&2#)1)WI=,S275F+7 MPLB[. R^"$U[A7_UTMD M\\9 _I0W-HS'L2FX(@S6"/4N1VA&PO=V]R M:W-H965TK 20S#J5A1?Z_L K"67.;&)U;%*1%=R"^E[-A9:\#B6C)3!) M.4,"EE/G-!B?1<;>&OR@L):]/3*1+#B_-\)5-G5\0P@*2)5!('IY@',H"@.D M:?QN,9WN2N/8WV_0+VWL.I8%D7#.BSN:J7SJ#!V4P9+4A;KAZR_0QA,;O)07 MTG[1NK'%H8/26BI>MLZ:04E9LY+'-@\]AZ'_AD/8.H26=W.197E!%)E-!%\C M8:PUFMG84*VW)D>9*NUB!O Z'5 \T[&LB(I3!W]$"2(!W!FAP?!P#_9 M0S?JZ$;[T/^I(OL1#@^&H8]/T&;]RA6@V(I!<(*>7S!&SQW^=[V %,H%"%O% MC5*7-AX:)SALYY67&FD['U"-V@9Q^X QRA;UR1 HD^B)$[ZR<9^RW>Y MPZ 7X B'O0"'FGOC0)_]QOTB^Y;&5A$F;AQU>7KMD7J]%EJ"6-E!(5'*:Z:: M;MIINUETVK3@K7DSR'3T*\HD*F"I7?WC)':0:(9#(RA>V8:\X$JW=[O-]3P% M80ST^9+K!]L*YH)N0L_^ %!+ P04 " #R@:=84.BMWRD# 2" &0 M 'AL+W=OZDKHN5<:TUSZOLY+K)F^D T*FME(53-#IMKZNE'("I=45WX4!)E? M,RZ\Q)S;>!7SCN-.#,5@E:RE_6N.VF'N!)805YL8B M,/KVKA"8*&BI M08/DMA2@T?18'%TWR?6/94HP/5 MZ^@LX&>F+B .1Q %47(&+^ZEQPXO?@%OU2G6L"3)2RN951J^+]?:*&J6'\]) M[A"3YQ'M ;K4#Q-FP=49ODG/-SF'_EM;=1[Y+VD0,GCW M9A*%X16\MM"ERPCBJ__M^P%SK->HW#8?G+3O>?G$0PT0NRXX 7A_*\"4LM5$ M6?]QHN24\1WFK>+F$59*%FU.H8>9MQ"-TC!Y8L?IQ-*AY8,;63=2H!AD9/$Q M.DMB"E&-5(S6]CF]872J?QQWC?C:=?Y8-Y5\1(0U"MSP 93T22< MPE?V0.TN34DK;$HF@*Y%+G)9'QE&D_28E,9P*W2KF,B'$=/C.)O2GFU0*6*L M\!Y%>RHV3:J+0KD]&<[DTP0SL1HYOO-\<)LN$FT.W/&P M8 N\0_U03"5);H,2ISERE0H.$N(809AAI@\!H6>(Y9ID!(AJ_:DRG<6D,-_?/Z)]M[!3+C"D\%]GW--;)R#EV M(,8Y*S-]*U9?L(ZG:_ BD2G[A56E&X8.1*72(J^-B4&>\FIEZSH/&P;'W@Z# MH#8(+._*D65YP30;#Z58@33:A&8V-E1K3>12;HIRIR7]3D 2NL 5,DP["0_NN#7.,4;(,E&:ZU$(^-5 ?P&_U^OTM MV0O[<$>:N)65%UX=K]G[G2Y\)3>R!9SF9Z/2[$*X%YH\%SNSO>7ZQ#_9DOWC M[C\G_5SD=",3,SZ7N(\ RS(1L5E&LGA_[6\H[AKN;Y'83$&TQ8M:4,$G&FCR M$;4EH3 J9:K3C=0TA??#HS<.C^HD;_GW>G_X;^[16WWI;@S0'.7"/A.*N)9< M5[.T.6U>HK-J +^H5\\8W>1%RA5D."=3K]WO.B"KIZ$2M"CL.)X)3&ULQ5;;;A,Q$/V5T8(JD$+VVC2D M2:1>0/0!5%$H#X@'QSO)6MVU@^UMZ-\S]EZ:MDG$&U+5]=@SQV?&QYY,-TK? MF0+1PI^JE&86%-:N)V%H>($5,T.U1DDK2Z4K9LG4J]"L-;+N]7RJ:EL*B=<:3%U53#^<8ZDVLR .NHFO8E58-Q'.IVNVPANTW]?7 MFJRP1\E%A=(()4'C#VN$/_Z'.G7!;,X(4J?XC<%K-@'$".2U:7]JO: M?,(VGV.'QU5I_'_8-+YI%@"OC555&TP,*B&;+_O3UF$K8!SM"4C:@,3S;C;R M+"^99?.I5AO0SIO0W,"GZJ.)G)#N4&ZLIE5!<7;^44@FN6 E7$EC=4WUMF8: M6H)V#B%O8EY)Q^L\.0CXF>DAI/$ DBC) M#N"E?9ZIQTOWYL+9(?2M@Q&'#^8PS!=E$<9P]&J,\4Z)[36G/;W;6AOX*8;Y"T;E&3!!%L@;!T!;WW!55+4+4F5>H[M&Q1 M(ACDM196H!GZK:/T%+ZY(%72*R#D"AH_7S=BT"#NXD8KS +3"%)9X$QK@3G0 MU-;^B]K"IA"\H%?B=RWT$W)Y?]J3GLK_^EXBQVJ!NA-VVJ^0W(E^I_<7@1>4 M]X,K6S?AY?QOJZQ2M;1M-9X8SW=Y!JRR%^3/I M EY#%@_2]^FAB>-X,!Z-7DZ<<>ZH&#HSCH1,<8G@V@4'S#3Y/US MLP==LP*\5G61[K$LJDU5.GE11B4R_ I&Y;?0^\='EW DU] MC;L2[&6"OIKL.46H2=N/A78[/RIYN.M1";=>_@KURO%#BDD*CX$VZ']8S/\"4$L#!!0 ( /*!IUAJM!2TI 0 '0* 9 M>&PO=V]R:W-H965T MP,X%#="T1M(F#T4?*&FT(D*1"DFMLG_?,T-YO4X=MWVQ)'KFS#ES6YX//GR* M#5%27UKKXL6D2:D[F\UBV5"KX]1WY/"?VH=6)WR&S2QV@70E3JV=+>?SI[-6 M&S=9G\O9=5B?^SY9X^@ZJ-BWK0Z[*[)^N)@L)C<'[\RF27PP6Y]W>D/O*?W1 M70=\S?8HE6G)1>.="E1?3"X79U?';"\&'PP-\>!=L9+"^T_\\::ZF,R9$%DJ M$R-H/+;T@JQE(-#X/&).]B'9\?#]!OVU:(>60D=ZX>U'4Z7F8G(Z4175NK?I MG1]^IE'/">.5WD;YJX9LNX)QVF[/8Z9(N M)AB,2&%+D_631XNG\^DSY^"/U_5NAAK%]](O5,/7ETNEPLGJMO0Y^I MU\&W*F'^5/+R/%(#H?-VJM%;4M;#6&E7*5UMM2LI*HQ\3#@Q;J,*2@.14WVV MV>I@/-[#04 #EZX/L=U@@62.$[GH\ U8#5D1U7WKHH<^RM>(E6'P\BZL)()T@&K M1#48=C )\%*^AG_J<8XM UH9.S5: @V^MU5V,S4?&+>ER,'8-#,P<$V-*$,3 M]DP9'%C5,-(M?."VJ;DH_YULAVIIT!D.J!I.(0A\19!-,[]&5S J^Q"$HPG5 MC[D_#*:Z0&!'41)I$*2DD#33K^\4!+%U71MK$#1*TQ02'&3@##8EP$U2GWMM M#;<>?>;+7EHATD(Z=G, B@M]K8&X%]5E^0-82F%/9XENA@4U$8DSP& M"R9^DESS&7=;'&DKW776E (J_*?J#5L9;MB-#M71'ADT>Q<)V0%VH*VW6V[W ML64[E,?$Z,-.NA>K/#7J@[:-@1?XH)RF;%!9M"QT84GFXFT",56?.V=TZ/C@ M\?($6]]:S.14_=:'L;=\-KJ+5*#)XFU]-=H^\/QV%I.WF,[GWQUQF44F$A]@ M9W='F23:AJU=:3IM5=43]W)6!>">BP'M&, M5\;)'"#G(5?N)974%O@:=_7) M5/TB?=#JBO9LF1%CR%+)^9#DLWJ94FYBV'C(K$Q$U9+(ODP*/P1EL_\E.!*_ MPW5S2[W0EM< :E,2&HFURM <5H&]_U$J9/+QL^GI;;;?W"02T!Z,O\?3]A*N M=WU$P7##3D=QC[&YZWV_+[. FT%+8R'TG@FGO4KX4[$_W5ZK+?).X-<_W,9#88 0Q ML35W"EB7C)4K#E02-JW$PC0>SKL-[ MP%>.&[-E@\MDJ=23V]QDXR!R@E!@:AT#H^49+U$(1T0R?C:<01O2.6[;K^S7 M/G?*9V& ?] #)'=Z]L8"J6XCB@9V10 M/V,P.?H07T3# \EUV^2ZA]C_JY^'&>^418@C./K03^)X"/^*,/#(J#-TY;M3 MSU@N4;O>=4[!%@C77#*J(Q/;% O+9,9T9F"F:(%CQY%$P^OI8N;->'@"W)@U M9C!=/'JZCU'O%!:8NZBDJE+:4QT_J(JGD/2CDP'&PO=V]R:W-H965T[)$!R7;%[*"[HM=V 80^*S<3"R9)+R76S7S]*6OHV9:(#KY62MM%4CI7WZ:IS4NLA!V:&C5_V1FJA.,M[5-;$XHB M!%4JS4:C5VDEI$Z6\V#;T')N&J>DQ@V!;:I*T&&-RK2+9)P<#>_EOG3>D"[G MM=CC$[J/]89XE_8HA:Q06VDT$.X6R6I\NYYY_^#P26)K3];@*]D:\^PW#\4B M&7E"J#!W'D'PWQ>\1Z4\$-/XW&$F?4H?>+H^HK\-M7,M6V'QWJ@_9.'*17*3 M0($[T2CWWK2_8U=/()@;9<,OM-'W]:\)Y(UUINJ"F4$E=?P77SL=3@)N1M\) MR+J +/".B0++-\*)Y9Q,"^2]&@TF 6_R(QK<&VVYUB+N5JS( MF1"/.W@KM="Y% J>V(C7\_M[=VEKDN$AJGXN^ M8+)\^6+\:G1WI;II7]WT&OI9=9>X_=_H,S*SGLSL*MS%[KK$Z@=AZA.8(3PV M!#RN*&PM"$*>&[4AAP7X]H99!H9@-OFE17R& _I&XLM]!@-U0[6Q: =\'W3# MQ^ROQ>=&, RI T@=1Z%WE1INZ>25#*L#87 MZV&]I"DB@U5-4D'V7[(-6&);8QBNZC"$CUJAY8RL"[72(FM4R-SKX3UW2*AS M9A24XS.,YP/.P,L7-UDVNFLQ+,9W@Z.EL9W%GUUGXVJ.Q@#J >Y9TS_A@04D M'8Z'2WW0^3"0EBR];;96%E*0](?KQ#-JK[2 MC0*AY?:.SV9K!72/KP?%G+3 M:!>';&_MGZA5G,S?W./[QK+M)7>EPAV'CH:ON<4IOAEQXTP=YO36.)[Z85GR M,XOD'?C[SG"G=!N?H'^XE_\"4$L#!!0 ( /*!IUB6+K%##P, * ' 9 M >&PO=V]R:W-H965T "C:S39/^^YTA$-JFD3;M"_C.=X^?>[%OO.7B M0:8 BNR*G,F)D2I57EJ6C%,HJ+S@)3#<67-14(6BV%BR%$"3VJG(+=>V1U9! M,V9,Q[5N(:9C7JD\8[ 01%9%0<73#'*^G1B.T2KNLDVJM,*:CDNZ@26H;^5" MH&1U*$E6 ),99T3 >F)<.YFNA(5IP_:&&>3 Q;$X(<8J41 M*/X>X0;R7 ,AC=][3*,[4COVURWZISIVC&5%)=SP_$>6J'1BA 9)8$VK7-WQ M[6?8QS/4>#'/9?TEV\;6QQ/C2BI>[)U1+C+6_.ENGX>>0VB_X>#N'=R:=W-0 MS?(#570Z%GQ+A+9&-+VH0ZV]D5S&=%&62N!NAGYJ.JLD:J0D$C:8:T4RUE1: MI^S\GJYRD(.QI? H[6#%>]A9 ^N^ >N16\Y4*LE'ED#RW-]"BAU/M^4Y 1C>O;.&=E7)[CZ'5?_%/ITB3K4!S _U M.L;[-/+9N]"UO2ORO_[WJ0 @15-ZT*5_98*%C-.ZDJT&*^K597UE>SYG1*6\ MDI0E5+&2W($9!">HPG[KB, .IX#L17WNF*/A M:-"7@U$TV&>)OXB@,PM,V[=[1P?.$#M8 5X:]=(V\@^T'-/%_I@W!BO EH?6 M7-'=LVI@[L.@7QTS\J)CM]#JO9H%B$T]&R2)><54\X!VVF[\7#>O[L&\F5V8 MW4W&),EAC:[V13 TB&CF02,H7M9O\(HK?-'K98HC%(0VP/TUYZH5] '=4)[^ M 5!+ P04 " #R@:=8@M9^?:$" "^!@ &0 'AL+W=OL=*I:"36_H.TH1(*VT_I0J2KK]C#MP20' ML9K8U'>!=G_]S@EDK *D3=H+ML]WWWU?[GP,5L8^8PY XK4L- Z]G&C1]WU, MFU*5W@ M]GZ#_JG6SEJF$N':%-]41OG0N_1$!C-9%?1H5I]AK:?G\%)38/TK5HUOCS.F M%9(IU\%\+I5N5OFZ_@Y; 9?!GH!H'1#5O)M$-T*\J$+-\JCJ/D7MIG(#DM0$P@K:PB!2A.OC@+G@Y\XAS.TT_7>.,&+]J# M%XM[HRE'<:LSR/Z,]YE;2S#:$!Q'!P&9X)F(PXZ(@JA[ "]N!<,GQ47@>7!U0T&T5= ^A)Q-^F%G%!3,S[H2V?-ARWT7X,.3QT644Q%?B M?Z^CTEA2/R$33YI'2%%O-Y=-*XJE+"H0J4%RSTVA* QRJ31?O8<[N=.".5'[FM+?FBDEV'D].9'K4FEJQDMK;8?S MJ)E)O]V;R&PO=V]R M:W-H965T-H+\9WO^_R=SW=,=D*^J@Q D[>"<35U M,JW+L>NJ.(."JAM1 L>=5,B":C3EQE6E!)I84,'

0%G4F?GC>=_$VX#O.>Q49TU,)FLA7HWQE$P=SP@"!K$V#!0_6W@ Q@P1ROC= M<#KMD0;87>_9O]C<,9"4#0 *KNS[(JGRDFD83*79$FFAD M,PN;JD6CN)R;HJRTQ-T<<3J:Q;&HN%9XP3'D6[IFT",<'\/5BUFKZXFK\1@3 M[,8-Y;RF#$Y0AN19<)TI\IDGD!SB7937:@SV&N?!6<)G*F](Z/=(X 7],WQA MFW-H^<(3?,LV545^SM9*2WP;OXXE6O/TC_.8?AFKDL8P=; A%,@M.-'EA3_P M[L^H[+_*_OH\HJ%B#M/79 M.[%@<7;@P.-&9J!3EB;HFI][C^ -P!7$E<_U.%E(D58R0_H2.X"XTPO _R((I2<. =3-#S1WYKA3W?&Y 9PY%%>0P$AQ])1+76 M:<5PD#02VQ2&WO6A\2(T[03^VUL=7<.>-_ /'6%PMW<<>T9NI]D+D!L[TA2Q M1]5]WWK;J3FKA\7?\'KDXG5L&ULK57?3]LP$/Y7K# AD +YX:1I M2UN)PM!X0*J C8=I#VYR;2P2.[,= O_]["1-TU$Z(>TE\9WO^_S=77*>5%P\ MRQ1 H=<\8W)JI4H58\>1<0HYD>>\ *9W5ESD1&E3K!U9""!)#/5U/*LC>.>KE-E',YL4I U/(#Z7BR$ MMIR.):$Y,$DY0P)64^O2&\\#$U\'_*!0R=X:F4R6G#\;XS:96JX1!!G$RC 0 M_7J!*\@R0Z1E_&XYK>Y( ^RO-^PW=>XZER61<,6S)YJH=&H-+93 BI29NN?5 M-VCS"0U?S#-9/U'5Q&+?0G$I%<];L%:04]:\R6M;AQY@Z'X \%N 7^MN#JI5 M7A-%9A/!*R1,M&8SBSK5&JW%46::\J"$WJ4:IV:W[ 68XH*"M!'3'\')(UEF M($\GCM+T)LB)6ZIY0^5_0(71'6@K2R#9Q3M:5J?-WVB;^P<)[X@X1]BS MD>_ZP0$^W.6*:S[\CUS?T#65<<9E*0#]O%Q*)?3'\6M?Q@UAL)_0_#!C69 8 MII;^(R2(%[!FQT?>P+TX(#?HY :'V-^U9I^^PPS'1T/?Q1?H?[VO(89\":)N MRL:INQ2G.Q[=+ESW[!W!R2U#*N6E)"R1I^B>5/I;5B HR>3X7?0#Q*6@Z@TM M!$_*6,ENYPO"=C@8[=@X](T670)TQ?.",UV\+<*WO5Z\9P]P@!ZY(AD2?1%= M1&A'>-A9@3T:#M"3GB]GE)T5@L<@/R78P_8PZIWOVR,MYV.YH9:+>\='P:"5 M6^V*V%*.;#?PMV9D1UZ(;BBC>C@D:,UY\BG%V/:BL%>^R#MD]U:QM;A1W88='7:]\\YO=&8@UC7%X!$,2^9 M:J9DY^WNF,MFM&[#FPM*9[^F3*(,5AKJGD>AA40S]!M#\:(>M$NN]-BNEZF^ M)T&8 +V_XEQM#'- =_/._@!02P,$% @ \H&G6*?I48@E P X@< !D M !X;"]W;W)K&ULK55-C],P$/TKHX 02-7FNQ]+ M6ZF[@-@#HF(7." .;C)M+!([V,YV]]\S=MJD2[L5!RZ)/9YY\Y[''D^W4OW2 M!:*!AZH4>N85QM27OJ^S BNF+V2-@E;64E7,T%1M?%TK9+D+JDH_"H*A7S$N MO/G4V99J/I6-*;G I0+=5!53CU=8RNW,"[V]X0O?%,8:_/FT9AN\1?.U7BJ: M^1U*SBL4FDL!"M7B76WSE\X[C5!V.P2E92_K*3FWSF!980EI@9B\#H M=X_76)86B&C\WF%Z74H;>#C>HW]PVDG+BFF\EN5WGIMBYHT]R''-FM)\D=N/ MN-.36KQ,EMI]8=OZIH$'6:.-K';!Q*#BHOVSA]T^' 2,GPN(=@&1X]TF"]RS)_&^T2W MXQSM.5]%9P$_,74!<3B *(B2,WAQMP>QPXN?P5NVTC4L2/O":F>EAA^+E3:* M3LW/4Y);Q.0THKU)E[IF& M^=6+<13$;^%__=]AAM4*E:O6WDCERXHG%JIC[(IY!/#Z1H I9*-)HGX#?RN_ M/ JXQ:Q1W#S"4LF\R\]3&)R M4;54S.!)O6%TK'\4M^?I:5V.6>__[ZNZE(^(L$*!:W[ )0P&HS#JILE@'$[@ MCCW0J96FH!TV!1- ;8Z+3%8]PVB<]D%I##="-XJ)[-!CTH^'$ZK9&I4BQ@KO M433'8M-TR5*2D@[7I%Y.>0Y0FL,CO+0,-:R6K79-#I8] H^'H M.-$P@L].\-X2)T%/C5;OI&&EO0[_UM?ZXQ"F@]$!TY%PTN<]N".VOW@"W:OMV[MZ\?G<(-%QI*7%-H<#%*/5#MB]).C*Q=%U]) M0]OEA@4]PJBL ZVOI33[B4W0/>OS/U!+ P04 " #R@:=8Z" E.L" ") M!P &0 'AL+W=O9+\!+SW (1C5]+3*\):1W7]ROT3RYWRF7"-%[*_#M/33;P3CQ(<%>6T;=SQ(*FUDL70F!@47]J\B1P7MBACH^@O)S\S'"GYQ-T)4X&!BT06 M"(8M4,/!/9ODJ _[OJ% UMQ/EJ 7-6CT#F@,MU*83,.U2#'=]/>)8,,R6K&\ MB'8"WC+5@C@\@BB(VCOPXB;KV.'%[^#=U'G>LP5<<9WD4E<*X-8=&]83><'\O[ 1G._BV&[[M7>BOJO3"'O4VIKNQ M]O=.HB ^@_^UWF<*$8JZX&@+_L:$RI=DKGXK#=4Q=L5\8WMP(\!DLM),I/H0 MKAZ&',1= M&),E;M[UAE<[:/9A^QB^4AAU!(*F8V/2[&*XEX8BE^_WT'KHT_!T0PY/CO_Y MT"]E0=.IBE\&!]N41XN#WDC?M!Y%;^Y1]N:S5\;CP6JF7L$-'&MA*DG M9:-MWIGS>KR^F->/%-WD&1<:&ULQ57;3ALQ$/V5T;9"($796P@A))$2 M+BH/5 @H?:CZX.Q.LA:[=K"]!/Z^8^^E 9*H;Y6BK,>>.7/&/O:,UE(]Z0S1 MP&N1"SWV,F-60]_7288%TUVY0D$K"ZD*9LA42U^O%++4!16Y'P5!WR\8%]YD MY.9NU60D2Y-S@;<*=%D43+W-,)?KL1=ZS<0=7V;&3OB3T8HM\1[-C]6M(LMO M45)>H-!<"E"X&'O3<#CK67_G\,AQK3?&8"N92_EDC>MT[ 66$.:8&(O Z/." MYYCG%HAH/->87IO2!FZ.&_0K5SO5,F<:SV7^DZMZ MCBU>(G/M_F%=^?://4A*;611!Q.#@HOJRU[K?=@(& 0[ J(Z('*\JT2.Y04S M;#)2<@W*>A.:';A27321X\(>RKU1M,HISDRNN& BX2R':Z&-*FF_C8;#!S;/ M41^-?$,YK*>?U'BS"B_:@1?#C10FTW I4DS?Q_O$K248-01GT5[ &Z:Z$(<= MB(*HMPV] M&>H52W#LT<70J%[0FQQ\"?O!V1["O99P;Q_ZY)PI]<;%LB;-1 J7VG 2)*:P M48U(?AG17R,IWZ B02*8#&%A>;PT M/&2I2*/J"8V5$6A,2L4-1]V%@R^#*(C/X,$&R9S>!%M:Y>]]]:V2^QO/+D%JJ5K+!IDL8AQP6%!MT3:A6J:B:58>3*/>!S::@=N&%&_1>5 M=:#UA:3+6ALV0=O1)W\ 4$L#!!0 ( /*!IUBR4RFFQ@( %P) 9 M>&PO=V]R:W-H965T35W?.=QX(IDN3(#;A26.(-K4-_+M= ] MMT5)2 %,$LZ0@'3N+/S3I>^9 +OBAD E]]K(2-EP?FLZY\G<\0PCH! K X'U M:P8B7=GH#"A[T-7:38&TXV;G9?USL&!G;]B,4!# M_P,*O&#T--S5(EHE0:LDL'BC WC?+C2Q1&=,$)#H :UX4?[40PH$PRWSN(MH M+[#Y+DYEB6.8.Z7)B=B!$[U]XX^]3SVTARWMH44?'J!=Y_OR6;X7^B2N2<9( M2F+,%%K$,=\R15B&UIR2V$C\=:&AT+F"0O[N4C4\@JI1JVK4>QAK$+$1DX&Q M$J\8")F3$N5 $[2Y1R46>AK%^HPPN^]B7^-/+;[YM>PB;S"=A.ZN@]5)R^JD ME]4-ICDQ)M#V>&*7+@*]4"],W[@E.GXE4XR/H&K2JIHUFM.%,",_V_$"47=:8?4&N5+AJ]@"],XJRE.WLE:\R.H,KW_M&PO=V]R:W-H965T EB5.^,/9"9#/3Y,&>))C?T8RD\LF6L@0+> H-9;S)XDF/U%@8TC@.?H]U>% /FN02'EB=(?QQ2*_<*8 M&B D6YS'XC,]_$5J06Z!%]"8E[_@4-M:!@AR+FA2.TL&2916__BEGHB.@\11 M.Z#: 0T=G#,.=NU0SIQ9,2MEW6.!EW-&#X 5UA*MN"CGIO26:J*T".-&,/DT MDGYBNW!.!H_A6 M^GS=W(.;-[?@C<0"7_8TYS@-^=P4DF[Q4C.HJ:TJ:N@,-1M\I*G8<_!'&I*P M[V]*F8U6=-2Z0EK CYC= 1N^!+O'L,WB?Y"+E."9\ MIIJ;RM=1^Q:+>\8S')"%(5VYWMP;CYW19Q:.1"ZK56/G=NP<[5!^#LC3&9PNI/) M&M"$@)N8$A ZDJR17.&XO,M =!.;4R+,<2QT7 MKZ'H:2D^I()(X4+#S3MY+43%NNYQ.S7R'4]-;=I0F_X/M3)1GHC<_<@Q;01^ M4>?V](2 X]O^@.6ID>=/S]#T&YJ^EN:&!#F+Q$_PR&B8!T+)3@MQ;4J/!-93 M"ZVVD%FOV$YKYY&4CH76E]JIV?"U6VJ-T$TIY$\[.54+49AYMH/4J0=1RQ!I M&G:)>MZH<_ LNV@_UP%?'Z5<4>=A6>3@9 MK;>!VH[A:N$CH?6%M[T#U#8TU91B5!-2^M[[7A& NMK[3M61 :+0_1J*W+6&A]X6WK@K3] MPC5Y:)]\@[^#WF3X.:,TF[B302Z:G6.KA+!=>9K'04#S5%2G.LUHCCU1(6A27NX) M#@DK#.3S+:7B>%.\H#E?7?X'4$L#!!0 ( /*!IU@:"\XHF0( !$' 9 M >&PO=V]R:W-H965TIWMI'K$ M"D"3IYH+G'J5UILKW\>B@IKBA=R ,"[:NM WX>;:A:UB ?MC<*;/S M>Y:2U2"024$4K*;>=7@U2VV^2_C.8(<':V*=+*5\M)NOY=0+K"#@4&C+0,UG M"S/@W!(9&3\[3J^_T@(/UWOVS\Z[\;*D"#/)?[!25U/OO4=*6-&&ZWNY^P*= MG\3R%9*C^R6[-O=RXI&B02WK#FP4U$RT7_K4U>$ 8'B& 5$'B(X!Z2N N /$ MSFBKS-F:4TWS3,D=43;;L-F%JXU#&S=,V"XNM#*GS.!T?DO5(VBZY$ 64#2* M:09(3N'T0B!;^K0%R/:%^,F&F4TQ;@@<7A& MHB":# D:A\^AZ.'QB)RX[TWL^.)_]P;[W@S5N:69#-/8.7"%&UK U#-_= 2U M!2]_^R9,@X]#'O\3V3/'D][Q9(R]3/NN9M*27EHQ*NZZETNPWE*20J.WH8(.]:%F2YQ+#Z$CBRRPK\<.P MQ+27F(Y*?!!FCG.GD4O$,R) #TE,7]3G/#RNX4!.UC8?J^9@()AY6!!A>7IC*J'<#M1LN-FV%+J&PO=V]R:W-H965TATFX/TQY,<@&KCIW9#K3_?G:2IL!"MDKI"\3)/&6 MBT>Y!E#H*:%,CJRU4NF5;>D4EEP?FC6=S$(\LQBH!" MI P%UG\;F "EADGK^%V26M6>!KC[_,+^.4]>)[/ $B:<_B"Q6H^LOH5B6.*, MJCN^_0)E0EW#%W$J\U^T+6,="T695#PIP5I!0ECQCY]*(W8 ;N<(P"L!WO\" M_!+@YXD6RO*TIECA<"CX%@D3K=G,0^Y-CM;9$&:.<:Z$_DHT3H7C*.(94U(? M201D@Q<4SA'3Y7.!YKIDXHP"XDMT-.QT"@H3>J;C'^93='IRADX08>A^S3.) M62R'MM(RS69V5$JZ+B1Y1R1]Q>(2^>XY\ARO4P.?-,.G$%5P?Q]N:W,JA[S* M(2_G\__ET#>N0*(QB]$MQTRBN\H*]/-6@]"-@D3^JDNXV*%3OX/IU"N9X@A& MEFY%"6(#5OCQ@QLXG^K2;XELSPR_,L-O8@_'5/<]9A$@?8.@F&<+M[.;4G/,GM).I;33J/2>*_PJ[+!NZX06?-T=$6[/ M]P8'4NNBG,"M%]NMQ'8;Q)Q%]48V4KRUB%HBV\LVJ+(-WKVC M@C;-:(ELSXQ>94:ON:/J*G0EN*RM@=[?U=?Q!OY!C=9%#;I'&JI?">TW"M77 MLCF2"4]2SN!(LS=2O/586B+;RW9093MX]QH=M&E&2V1[9KC.ZY3@M%BE)=GN M?>Z[3G!0I351GML_O$GMG=G&#):Z#%=$GP.%I88YESU=YJ*8U8J%XFD^[BRX MTL-3_KC6\RT($Z"_+[D^T7)A)JAJ8@[_ %!+ P04 " #R@:=8U_^0KW$# M "6#@ &0 'AL+W=O_Q M.:ZO3SS;<_%;;@A1X"'/F)P[&Z6**]>5Z8;D6%[R@C ]LN(BQTHWQ=J5A2!X M62;EF>M[7N3FF#(GF95]MR*9\:W**".W LAMGF/Q^(YD?#]WH//4\86N-\IT MN,FLP&MR1]2WXE;HEMN@+&E.F*2< 4%6<^RS)@F<_ MZ%)MYL[$ 4NRPMM,?>'[#Z06%!J\E&>R_ 7[*C;V')!NI>)YG:P9Y)153_Q0 M+T0K 08G$OPZP1^:@.H$5 JMF)6RKK'"R4SP/1 F6J.9EW)MRFRMAC+S-]XI MH4>ISE/)#=L1IKB@1+X&G_6VN0"]KI?71&&:O=)CW^ZNP^L6]L(D<"ZTA&C61T#CWYRA7.@,![O9L4$11GUK^Q HE*$',D[))@.HEF[JZM MHQ\4QFC2!'7X!0V_8 _K- M[L=A@(XX]J.0%\,3)..&9'R6Y!U)MX*J1W K^'*;*NL2GH7XW[H;":RC=M*H MG8QTU$S&E#P26$?RM)$\'>.HF?8W%PJ/J\02%$93^P:$WL$$O7$.FQJGR,4'&_& M?I0/3U;VP:'A$(L>4MD6DXZ#XR\=2U2HQ9Q@>;!I.,2G!]1UU/O2\B'RCDE: MHN(P/B+IMBX-YL:FRW9-F0096>DT[S+6(D5U":H:BA?E/>*>*WTK*5\W^N)( MA G0XRO.U5/#7$V:JVCR%U!+ P04 " #R@:=8;DN=F-D# _$0 &0 M 'AL+W=O;2+PD?-Q[..?ZVL

7WL2RSFO9$89/ E45GE.Q.LGR/AAX6#G[<(WNMU)?<%=S@NRA6>0 M/XHGH<[<%B6E.;"2_S:@3OM,G7A^_(;^N1:OQ*Q)"2N>_4-3N5LX4P>E ML"%5)K_QPY_0"(HT7L*SLOY%AR;6ILI88R/8S/4JB[5.7)Y4.2 M\(K)$A7DE:PS0(2EJK:)J"!%&25KFE%)H40?T=6A[Q]!$II]4#D_GA_1^W,'EJO55WYM$'5%",XJ>H?=E01)8.&H*EB#VX"Q__07' MWN\FB2.!=00'K># AK[\(R\R_@J UL!@0Z5Q"(\0<0VAEX_],ISBV=S=GZL8 M!F%O@OTVJD,O;.F%5GJ/L $AU( (V .KP,3NB!!U'ASVR UCHFAFIA:UU"(K MM2^LK 1AB9%3-'B>'_<+9HB97N 4MYQB*Z?OY$5-4RYW()#<$8;4>DI9PG,C MR7A ((R"'LEAC#^-S"0G+1#NM=E*]%&\+Q9"D$8&V\R'-K8[S$4K>A(\K1+S"FC'N'7!'PNMJ_CD< ;L0A-:,6X>DI'0 MNHI/[HFC$9K0:L$W*QX)K:OXY,W8;LY7->'0;^.P[\E-T/E6*PXNM>#)E;'= MEE=<%%P0:>9ES;UY($9"ZRH]N3N>CM!ZUBW"S8I'0NLJ/FT:L'W7<%7KS09= M-1ETGO4QM\IPS]YN]:<%M0AN*2M1!AL%[]U-U#00Q[?UXXGD1?W"N^92[<_J MPQV0%(0.4/&PO=V]R:W-H965T( E[RK. +*Q%B=V/;/$PP)WQ =UC(*S%E.1%RR;8VWS$DD4[* M,]MSG+&=D[2P@KD^]\"".2U%EA;XP("7>4[8CSO,Z&%AN=;KB>_I-A'JA!W, M=V2+:Q1/NP[-T?96@(_Y*\-7],]:O!2S(1R7-/L[C42R ML*861!B3,A/?Z>$/K 6-%%Y(,ZY_X5#'.A:$)1"!T;WJ7XFLB0@+4*:(PCR@ARNH>?BQQ4*DF:?9-33>@4?/WR"#S("'A-: M\,%1^^TD(D'.Z+"*/C?%O*:K1YK]KNO%[ KX0- MP'>OP'.\H8'/\N?3_1XZ?F.UK_'\,WA?&O\ 7V0;[2"WWYQQ\[O)H7O!':D=]CH'?:A!RN,D3&,6H4#&RPP3H5)=P4V MUF#JY;,/KMV1.[?W;3V&(&_D-$%'/$<-SU$OSTJ>E90V[62^Z;+ =V!04:6VUV M4IA^A])IA&X3Z=?XGY1P>98'>Q['L3 ZW649#HF<4074.+; 0\"V^"///[88+ M)B>;?XUFN.^Y,[P7VK&YWINYWN4"A?#(BDQY<"VG&_8LAXM-AL Q+%DJTC/5 MX9T\]^MNYQMC_#.E\;:3N[T;9U7+1DK^:;^[TV&7E"%JYHP[K.S65) P JPL !D !X;"]W;W)K&ULQ59= M;]HP%/TK5E9-G=0UGP3H(%(+ZU9IDZJR=@_3'DRX@%7'3FT'VG\_VZ0!2J"= M%FDOQ$[N.3GGYEYS>TLN[N4<0*''C#+9=^9*Y6>N*],Y9%B>\AR8?C+E(L-* M;\7,E;D /+&@C+J!Y\5NA@ESDIZ]=RV2'B\4)0RN!9)%EF'Q= &4+_N.[SS? MN"&SN3(WW*27XQF,0-WFUT+OW(IE0C)@DG"&!$S[SKE_-O MP$;<$5C*C34R M5L:$814$B5H<#ZLH !4&J8M(Z'DM2IWFF F^MG]DMK7IL98PD# M3G^2B9KWG8Z#)C#%!54W?/D52D,MPY=R*NTO6I:QGH/20BJ>E6"M("-L=<6/ M92(V 'ZT!Q"4@."M@+ $A-;H2IFU-<0*)SW!ETB8:,UF%C8W%JW=$&8^XT@) M_91HG$HN"<,L)9BB*R:5*/074A)]1 ,LQ!-A,W2':0$(LPGZ+!71>8,)NL1$ ME _X%-53' ]!84(_:*[;T1 ='WU 1X@P]&/."ZGI9,]56K]1X::EUHN5UF"/ MUN]8G*+0/T&!%T0U\,%A^!#2"AYNPUV=M2IU096ZP/)%>_BJ%)UGO&"JSL]! M M.A9S+'*?0=W8(2Q *]*M&O;YH/7>G;\G==GL(F\]00V5:>HBI/ MT2LU(>>V65*S@(>"+# U_5#G>D456RISW"Z2EM^)XYZ[V+2S&Q7Y83>LHK9T MMBJ=K8,ZS]/4U*S4)W$*6N.8P@EB4%O$*Z;6A@"_'0;=%S+KHKS8KY<95S+C MM\G,\9/16"Q?UO2#9%MV>Q4 M-CO_L_4[3>:I(;*M/'6K/'6;:_WN3CW6M?YNU('6][WU7[[76/.75*]U?VW8 MWO;W-Z83_Y\/@)(B/GP"U$7M'@'NQB1EQE@]?J>6/FM6H^3_X 4$L#!!0 ( /*!IUC> MZV9-@P0 (P; 9 >&PO=V]R:W-H965TOG81 MVN""UG,#2?#['.>\QI_#+64_^!) H.<\(WQD+8587=LVCY>08WY)5T#D+W/* M>8O=Q"1K #QN)HQ>6?7E"3-@?"4$L1@/K)NW.O([2I!4>)K M"EM^<(W4JSQ1^D/=W"4CRU$U@@QBH1!8?FU@ EFF2+(>_U10JXZIA(?7.WI4 MO+Q\F2?,84*SO]-$+$?6P$()S/$Z$_=T^P=4+^0K7DPS7GRB;576L5"\YH+F ME5C6($])^8V?JT0<""2G7>!5 N]40:<2=%X+ND<$W4K0?2WH'1'XE< _-4*O M$O2*W)?)*C(=8(''0T:WB*G2DJ8N"KL*M4QP2E3+>A!,_II*G1C?0X8%)&B& MF7A!7Q@F'!>><_0;NDF25%WC#-V1LA6KUO Q ('3[),L\?@0H(\?/J$/*"7H MRY*N.28)']I"5DT%L..J&K=E-;PCU7#1E!*QY"@D"20M^HE>WWE/'[X3W]< M;)G3.K'>+K&WGI9XLUY:J27 M!Q ?B][(9:=NI)V"USFWD:)OGV51="<@Y]_;6EW)[;9S5:]]S5YMC)F&!25AH$A89@C6<[M9.=W7T\5]B"0S=0PSI!C]E<('P M7,@G-YD< C&) @5,#=F; M\=7 <8;VYM!8DQ'#4R)&;PNY3N^@5,,)OW;"USIQ1V3>@0O9L<51':$C.8IYY2]H'_15YPM4SE QVT>:4.G]GS34]4TZ;1(6F(2%)F&1(5C#Z4'M]$#[]Y[BYS1?YRBC6"ZP#P$3;:AS_3()"TW"(D.PAE]7M5]7IPV(3/Y!D?Q#*N.X7%VO\$M^ M9/91$@<'YCF7COO*.VW8<[TS"0M-PB)#L(9WKK-?YCI:]V9,SF/2E5S))NO" MO:0<26$^AV)S R72UM:%JQY<:;)06&J5%IFA-CP^V,EPC M$Z;F&/MM"OD3L._OS:3TP<\=8(W2 J.TT"@M,D5K-@IOWRB\GS2AJL"F##=) M"XS20J.TR!2M:?A^K\C5;E"8WT+0QSN['71.V40P&C.L:+XV9F0J9M.W_4XUQ6R1RCES!G.)="[[LD6R\NBGO!%T51Q5 M/%$A:%Y<+@$GP%0!^?N<4K&[40'J [CQ?U!+ P04 " #R@:=8YM,:L@\# M !E$ #0 'AL+W-T>6QE4ZJ"MN&BR<*EU_3&*FL625J0YDS45!BFDJH@V4U5&3:THR1MPJG@T&@R2 MJ"),A-.)6%67E6Z"A5P)G85Q;PK<[4N>AGKS]N9+ZXDW@ M[D?OCHX&MZ<7A_83"YR&D9?T_ FD9P.&S=HF[KTTDA MQ7X&P&!X246#.\*S<$8XFRL&7@6I&%\[\P@,"\FE"K1)O0DT!$MS[^"AFT%5 M.IZ*":EL;!?!?>]P%'H#--)3;2F2ER:B5ULC0^@H!O?K&NC ML%1D/1R=AUL'>S-!YE+E5/5AAN'&-)UP6H /1#0SM@G)^#2W[H]CC;HN=B@V@7J(?&D'=T-&X"?#OLCGN'=KT6;1!S>ZD M_KPRNQ%V#BU&KQ0M6&OG;=''Q]B'.#NI:[[^Q%DI*NKV_N2 TPG9^ 5+J=B] MB0:=LC &JL+@CBK-%KN67XK4-[35FVYJ"USSZ!5J_KMY+JF@BO!=T:;U7W*6 MGZTX_O"O)-LOE4/!7HW=,?3219Z_!I')BQ09=5_H.Z?&WIG16P,XF[/P.YSQ M?!LTF*\8UTQTLR7+'!V&7I.Y^0VUQV_6Y[0@*ZYO>C +M^-O-&>K*NU7 M74$BNE7;\5?8WC#I?QB86$SDM*7YK)NJ9(SZC%$?Y^5#9O:%Q?'[I.;R[S1-XSA) ML(S.9EX%,RQO20)O/QNF#3RP.!#ISW*-5QOOD,?[ *OI8QV"[13O1&RG>*X! M\><-/-+47VTL#GA@58!Q)4PR!7O3W:)(@V4G@ MY:\/]I3$<9KZ$<#\"N(80^!IQ!%, 6C D#BVY^#!>11MSJEH^\?"]#=02P,$ M% @ \H&G6)>*NQS $P( L !?3T\$MP>:4#M.*2V MBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YV MX$G1H2)8%II%R=.B':5_'>=H-V0,Q:/?]66KPI:6DV8UIE63>( M]@V/7%O!/E7/"L@Y79BRQM+% P60;G#:A@&70AM;]BC'I\"XX]!Y7]I:=2LR MR_6 6OY+J^U&R%4Q#+Q%Z+Q&.0_5=3^)E_I_IE$MEX+Q@6+;G$N[GT?-LP)0 MFK78F(!(FO-N4'4A5*9D*"U,$AG)_5#0MWA3>/0HW;^U!5QG#O6E@ 8]2DMP M?Y#]R7@P',^& P)WL\G=:-";0^&F=]<;]X?$@8P1R+@1R-D<+O?#L0.9()!) M@Y!_8@>R@T!VFH1,',@3!/*D2ZJ?. 3XC ,CVVIA!3<. MV@6"=N$7K<>8VDIKB.:,BUW!^(-(;MW W<8B=]LOWTCNH .8E9M/7*A1/"OE M8]XV]+5"KL7?@X;@ZF<0ZKQ4OO[19A0 M(L]&N1622B9H!FF#L;KL7H/#1!)Y-LE#40D+NJ$:\AJKJ32TS!9KA)A%(L\: M>8!M"R'O_>\(62"!)9=PSWCQ2Q<3\TAT;)'<5"*9:E[+&R+,)%&#*B'?YBXF MII/H>#Z9??@$^(H:\]VEQ,P2-:26=U WZ\8,$Q_9,(?F,<94$S>IFMK>B='C M2V.J*6?4Q<1\$S?AFX-KCHDG]BP>/%ZZ1Y@8LT_LV3YHO&S5#M:8?6+/]ODB M7@Z@3F3U1LQ-,0HEG"54)^[1,V.=. MP@ZLO=3%1+^BE1(*J\^G*5]"F$O'\ @#]8QF;*I)<=D?\#HG1:*UW&99'^HF M\D[1M/H:6WU)OOX+4$L#!!0 ( /*!IUC@/0E7: $ $H4 : >&PO M7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-V,V.@C 4AN%;(;T RSE5U(FXFHW; MB3= L("1O]!.1N]^""[P([.8C>E9D4(X?1?D">GAR]:9OW:MJZZ]B^Y-W;I4 M5=[W'UJ[O+)-YE9=;]OQ2=$-3>;'Y5#J/LMO66DUQW&BA]<9ZGAXG1F='[W] MS\2N**ZY_>SR[\:V_H_!^J<;;JZRUJOHG VE]:G2]WJ^[?1TH=4X646G2ZJ& MTX64#AW$$,3A@PP$F?!!:PA:AP_:0- F?% "04GXH"T$;<,'[2!H%SYH#T'[ M\$$4HXRQ@*0%U@*T)N2:!'A-"#8)$)N0;!)@-B':)$!M0K9)@-N$<), N0GI M)@%V$^)- O1FU)L%Z,VH-PO0FQ<_VP+T9M2;!>C-J#<+T)M1;Q:@-Z/>+$!O M1KU9@-Z,>K, O1GU9@%Z&]3;"-#;H-Y&@-X&]38"]#:+PY)WZNW\H[9N[GFN M7!E&ULS9C-;L(P$(1?)^@)MLB$426[:A\/9UPH_4BD8@*G4NL1+OSHR]TG?(Y'UKR$6;NFK< M-"Z]-X^,N:RD6KI$&VK"3J%M+7UXM0MF9+:4"V)B-!JS3#>>&C_TK48\FSQ3 M(5>5CUXVX;-3NIG&EBH71T^[PM9K&DMC*I5)'_;9NLE_N SW#DGH[&I]KK0 MDCAC2>:N)/)UE>Q$!_W./MPP[9[\:O].IL\P5,ZM-BY,S-+E=H>1M-U#$X3( M>M5_Q*-CD+[Z?-1..Z?\3.]PO9_:+KMY.-8MU]_Q]QD?]2_,(4!RI" Y;D!R MW(+D&(/DN /)<0^2XP$D!Q^A!$$A*D=!*D=A*D>!*D>A*D?!*D?A*DQ >\ K @ $0 @ &O 9&]C4')O<',O M8V]R92YX;6Q02P$"% ,4 " #R@:=8F5R<(Q & "<)P $P M @ '- 0 >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( /*!IUC> MA4S([P4 ,T? 8 " @0X( !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ M\H&G6(SZY^]]! 5Q !@ ("!1!4 'AL+W=O&PO=V]R M:W-H965T&UL4$L! A0#% @ \H&G6);H[4KF!0 G!D M !@ ("!RB 'AL+W=O7.0, ($' 8 " @>8F !X M;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ \H&G6"=\L=/% P 6 D !@ ("! MHRT 'AL+W=O&UL4$L! A0#% @ \H&G6&KB:_WZ @ K0< !D M ("!:S0 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ \H&G6##8XS)+ P 9 @ !D ("!'CX 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \H&G M6!N2UBU' P Q < !D ("!94D 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \H&G6!0)9$*A @ 5P8 M !D ("! 5, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \H&G6.@@ )3K @ B0< !D M ("!7UP 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ \H&G6,W+X8 Q! :Q4 !D ("!UF4 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ \H&G6-?_ MD*]Q P E@X !D ("!/W 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \H&G6 W'Q'T> P JPL !D M ("!X'L 'AL+W=O&PO M=V]R:W-H965T^# !X;"]S='EL97,N>&UL4$L! A0#% M @ \H&G6)>*NQS $P( L ( !*8< %]R96QS+RYR M96QS4$L! A0#% @ \H&G6,54"X9? P S18 \ ( ! M$H@ 'AL+W=O7!E&UL4$L%!@ I "D %@L /N. $! end XML 45 Show.js IDEA: XBRL DOCUMENT // 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)}}} XML 46 report.css IDEA: XBRL DOCUMENT /* 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; } XML 48 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1.u1 html 59 149 1 false 23 0 false 4 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME AND COMPREHENSIVE INCOME Sheet http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome CONDENSED CONSOLIDATED STATEMENTS OF INCOME AND COMPREHENSIVE INCOME Statements 3 false false R4.htm 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 4 false false R5.htm 00305 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) Sheet http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityParenthetical CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) Statements 5 false false R6.htm 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 10101 - Disclosure - Organization and basis of presentation Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentation Organization and basis of presentation Notes 7 false false R8.htm 10201 - Disclosure - Business segment information Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformation Business segment information Notes 8 false false R9.htm 10301 - Disclosure - Marketable securities Sheet http://www.compx.com/role/DisclosureMarketableSecurities Marketable securities Notes 9 false false R10.htm 10401 - Disclosure - Accounts receivable, net Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNet Accounts receivable, net Notes 10 false false R11.htm 10501 - Disclosure - Inventories, net Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNet Inventories, net Notes 11 false false R12.htm 10601 - Disclosure - Accounts payable and accrued liabilities Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilities Accounts payable and accrued liabilities Notes 12 false false R13.htm 10701 - Disclosure - Provision for income taxes Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxes Provision for income taxes Notes 13 false false R14.htm 10801 - Disclosure - Financial Instruments Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstruments Financial Instruments Notes 14 false false R15.htm 10901 - Disclosure - Related party transactions Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactions Related party transactions Notes 15 false false R16.htm 11001 - Disclosure - Recent Accounting Pronouncements Sheet http://www.compx.com/role/DisclosureRecentAccountingPronouncements Recent Accounting Pronouncements Notes 16 false false R17.htm 20102 - Disclosure - Organization and Basis of Presentation (Policies) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationPolicies Organization and Basis of Presentation (Policies) Policies http://www.compx.com/role/DisclosureRecentAccountingPronouncements 17 false false R18.htm 30203 - Disclosure - Business segment information (Tables) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationTables Business segment information (Tables) Tables http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformation 18 false false R19.htm 30303 - Disclosure - Marketable Securities (Tables) Sheet http://www.compx.com/role/DisclosureMarketableSecuritiesTables Marketable Securities (Tables) Tables 19 false false R20.htm 30403 - Disclosure - Accounts receivable, net (Tables) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetTables Accounts receivable, net (Tables) Tables http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNet 20 false false R21.htm 30503 - Disclosure - Inventories, net (Tables) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetTables Inventories, net (Tables) Tables http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNet 21 false false R22.htm 30603 - Disclosure - Accounts payable and accrued liabilities (Tables) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables Accounts payable and accrued liabilities (Tables) Tables http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilities 22 false false R23.htm 30703 - Disclosure - Provision for income taxes (Tables) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesTables Provision for income taxes (Tables) Tables http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxes 23 false false R24.htm 30803 - Disclosure - Financial Instruments (Tables) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstrumentsTables Financial Instruments (Tables) Tables http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstruments 24 false false R25.htm 40101 - Disclosure - Organization and Basis of Presentation - Additional Information (Detail) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationAdditionalInformationDetail Organization and Basis of Presentation - Additional Information (Detail) Details 25 false false R26.htm 40202 - Disclosure - Business segment information - Schedule of Business Segment Information (Detail) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail Business segment information - Schedule of Business Segment Information (Detail) Details 26 false false R27.htm 40301 - Disclosure - Marketable Securities (Details) Sheet http://www.compx.com/role/DisclosureMarketableSecuritiesDetails Marketable Securities (Details) Details http://www.compx.com/role/DisclosureMarketableSecuritiesTables 27 false false R28.htm 40401 - Disclosure - Accounts receivable, net - Schedule of Accounts receivable, net (Detail) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetail Accounts receivable, net - Schedule of Accounts receivable, net (Detail) Details 28 false false R29.htm 40501 - Disclosure - Inventories, Net - Inventories, Net (Detail) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail Inventories, Net - Inventories, Net (Detail) Details 29 false false R30.htm 40601 - Disclosure - Accounts payable and accrued liabilities - Accounts payable and accrued liabilities (Detail) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail Accounts payable and accrued liabilities - Accounts payable and accrued liabilities (Detail) Details 30 false false R31.htm 40701 - Disclosure - Provision for income taxes - Provision for income taxes (Detail) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail Provision for income taxes - Provision for income taxes (Detail) Details 31 false false R32.htm 40801 - Disclosure - Financial Instruments - Carrying Value and Estimated Fair Value of Financial Instruments (Detail) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstrumentsCarryingValueAndEstimatedFairValueOfFinancialInstrumentsDetail Financial Instruments - Carrying Value and Estimated Fair Value of Financial Instruments (Detail) Details 32 false false R33.htm 40901 - Disclosure - Related Party Transactions - Additional Information (Detail) Sheet http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail Related Party Transactions - Additional Information (Detail) Details 33 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 5 fact(s) appearing in ix:hidden were eligible for transformation: dei:EntityIncorporationStateCountryCode, us-gaap:EarningsPerShareDiluted, us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding - cix-20240331x10q.htm 9 [ix-0514-Hidden-Fact-Not-Referenced] WARN: 2 fact(s) appearing in ix:hidden were not referenced by any -sec-ix-hidden style property: us-gaap:CommitmentsAndContingencies - cix-20240331x10q.htm 9 cix-20240331.xsd cix-20240331_cal.xml cix-20240331_def.xml cix-20240331_lab.xml cix-20240331_pre.xml cix-20240331x10q.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 true true JSON 51 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "cix-20240331x10q.htm": { "nsprefix": "cix", "nsuri": "http://www.compx.com/20240331", "dts": { "schema": { "local": [ "cix-20240331.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd" ] }, "calculationLink": { "local": [ "cix-20240331_cal.xml" ] }, "definitionLink": { "local": [ "cix-20240331_def.xml" ] }, "labelLink": { "local": [ "cix-20240331_lab.xml" ] }, "presentationLink": { "local": [ "cix-20240331_pre.xml" ] }, "inline": { "local": [ "cix-20240331x10q.htm" ] } }, "keyStandard": 142, "keyCustom": 7, "axisStandard": 11, "axisCustom": 0, "memberStandard": 12, "memberCustom": 7, "hidden": { "total": 12, "http://xbrl.sec.gov/dei/2023": 6, "http://fasb.org/us-gaap/2023": 6 }, "contextCount": 59, "entityCount": 1, "segmentCount": 23, "elementCount": 246, "unitCount": 4, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 289, "http://xbrl.sec.gov/dei/2023": 30 }, "report": { "R1": { "role": "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation", "longName": "00090 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets", "longName": "00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_3_31_2024_XT9o4477UkyfUZnv6ql4EQ", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_XT9o4477UkyfUZnv6ql4EQ", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome", "longName": "00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME AND COMPREHENSIVE INCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF INCOME AND COMPREHENSIVE INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "unique": true } }, "R4": { "role": "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity", "longName": "00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_eMjg5oOk20mgBEcP58rvXg", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_eMjg5oOk20mgBEcP58rvXg", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R5": { "role": "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityParenthetical", "longName": "00305 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:CommonStockDividendsPerShareCashPaid", "unitRef": "Unit_Divide_USD_shares_PFPqNEZwSUGdGxd6SNZTyQ", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:CommonStockDividendsPerShareCashPaid", "unitRef": "Unit_Divide_USD_shares_PFPqNEZwSUGdGxd6SNZTyQ", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R6": { "role": "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows", "longName": "00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentation", "longName": "10101 - Disclosure - Organization and basis of presentation", "shortName": "Organization and basis of presentation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "7", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformation", "longName": "10201 - Disclosure - Business segment information", "shortName": "Business segment information", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.compx.com/role/DisclosureMarketableSecurities", "longName": "10301 - Disclosure - Marketable securities", "shortName": "Marketable securities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNet", "longName": "10401 - Disclosure - Accounts receivable, net", "shortName": "Accounts receivable, net", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:FinancingReceivablesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:FinancingReceivablesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNet", "longName": "10501 - Disclosure - Inventories, net", "shortName": "Inventories, net", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilities", "longName": "10601 - Disclosure - Accounts payable and accrued liabilities", "shortName": "Accounts payable and accrued liabilities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxes", "longName": "10701 - Disclosure - Provision for income taxes", "shortName": "Provision for income taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstruments", "longName": "10801 - Disclosure - Financial Instruments", "shortName": "Financial Instruments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactions", "longName": "10901 - Disclosure - Related party transactions", "shortName": "Related party transactions", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.compx.com/role/DisclosureRecentAccountingPronouncements", "longName": "11001 - Disclosure - Recent Accounting Pronouncements", "shortName": "Recent Accounting Pronouncements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationPolicies", "longName": "20102 - Disclosure - Organization and Basis of Presentation (Policies)", "shortName": "Organization and Basis of Presentation (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "17", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "cix:OrganizationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "cix:OrganizationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationTables", "longName": "30203 - Disclosure - Business segment information (Tables)", "shortName": "Business segment information (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "18", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.compx.com/role/DisclosureMarketableSecuritiesTables", "longName": "30303 - Disclosure - Marketable Securities (Tables)", "shortName": "Marketable Securities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "19", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:MarketableSecuritiesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:MarketableSecuritiesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetTables", "longName": "30403 - Disclosure - Accounts receivable, net (Tables)", "shortName": "Accounts receivable, net (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "20", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FinancingReceivablesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FinancingReceivablesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetTables", "longName": "30503 - Disclosure - Inventories, net (Tables)", "shortName": "Inventories, net (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "21", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables", "longName": "30603 - Disclosure - Accounts payable and accrued liabilities (Tables)", "shortName": "Accounts payable and accrued liabilities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "22", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesTables", "longName": "30703 - Disclosure - Provision for income taxes (Tables)", "shortName": "Provision for income taxes (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "23", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstrumentsTables", "longName": "30803 - Disclosure - Financial Instruments (Tables)", "shortName": "Financial Instruments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "24", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:FairValueByBalanceSheetGroupingTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:FairValueByBalanceSheetGroupingTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationAdditionalInformationDetail", "longName": "40101 - Disclosure - Organization and Basis of Presentation - Additional Information (Detail)", "shortName": "Organization and Basis of Presentation - Additional Information (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "25", "firstAnchor": { "contextRef": "As_Of_3_31_2024_dei_LegalEntityAxis_cix_NLIndustriesMember_srt_OwnershipAxis_cix_CompXInternationalIncMember_3IkEsWJvyUqivE9HJloiNw", "name": "us-gaap:MinorityInterestOwnershipPercentageByParent", "unitRef": "Unit_Standard_pure_5u01L-JvvkSlKreRydmQLw", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "cix:OrganizationPolicyTextBlock", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_dei_LegalEntityAxis_cix_NLIndustriesMember_srt_OwnershipAxis_cix_CompXInternationalIncMember_3IkEsWJvyUqivE9HJloiNw", "name": "us-gaap:MinorityInterestOwnershipPercentageByParent", "unitRef": "Unit_Standard_pure_5u01L-JvvkSlKreRydmQLw", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "cix:OrganizationPolicyTextBlock", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail", "longName": "40202 - Disclosure - Business segment information - Schedule of Business Segment Information (Detail)", "shortName": "Business segment information - Schedule of Business Segment Information (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "26", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_us-gaap_StatementBusinessSegmentsAxis_cix_SecurityProductsMember_HZTw907XbEimS1vEbJ4rgQ", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "unique": true } }, "R27": { "role": "http://www.compx.com/role/DisclosureMarketableSecuritiesDetails", "longName": "40301 - Disclosure - Marketable Securities (Details)", "shortName": "Marketable Securities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "27", "firstAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_FinancialInstrumentAxis_cix_CurrentAssetsMember_opmTFnYTvkWUZwiWPVvTyg", "name": "us-gaap:MarketableSecurities", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "us-gaap:MarketableSecuritiesTextBlock", "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_FinancialInstrumentAxis_cix_CurrentAssetsMember_opmTFnYTvkWUZwiWPVvTyg", "name": "us-gaap:MarketableSecurities", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "us-gaap:MarketableSecuritiesTextBlock", "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetail", "longName": "40401 - Disclosure - Accounts receivable, net - Schedule of Accounts receivable, net (Detail)", "shortName": "Accounts receivable, net - Schedule of Accounts receivable, net (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "28", "firstAnchor": { "contextRef": "As_Of_3_31_2024_XT9o4477UkyfUZnv6ql4EQ", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:FinancingReceivablesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_XT9o4477UkyfUZnv6ql4EQ", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:FinancingReceivablesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail", "longName": "40501 - Disclosure - Inventories, Net - Inventories, Net (Detail)", "shortName": "Inventories, Net - Inventories, Net (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "29", "firstAnchor": { "contextRef": "As_Of_3_31_2024_XT9o4477UkyfUZnv6ql4EQ", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_XT9o4477UkyfUZnv6ql4EQ", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail", "longName": "40601 - Disclosure - Accounts payable and accrued liabilities - Accounts payable and accrued liabilities (Detail)", "shortName": "Accounts payable and accrued liabilities - Accounts payable and accrued liabilities (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "30", "firstAnchor": { "contextRef": "As_Of_3_31_2024_XT9o4477UkyfUZnv6ql4EQ", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_XT9o4477UkyfUZnv6ql4EQ", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail", "longName": "40701 - Disclosure - Provision for income taxes - Provision for income taxes (Detail)", "shortName": "Provision for income taxes - Provision for income taxes (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "31", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:DeferredIncomeTaxExpenseBenefit", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024__cZqZ1UNhE-Tl6eFEQRwBQ", "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "unique": true } }, "R32": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstrumentsCarryingValueAndEstimatedFairValueOfFinancialInstrumentsDetail", "longName": "40801 - Disclosure - Financial Instruments - Carrying Value and Estimated Fair Value of Financial Instruments (Detail)", "shortName": "Financial Instruments - Carrying Value and Estimated Fair Value of Financial Instruments (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "32", "firstAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_CarryingReportedAmountFairValueDisclosureMember_3onWjgID90eBzortaktsVA", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "us-gaap:FairValueByBalanceSheetGroupingTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_CarryingReportedAmountFairValueDisclosureMember_3onWjgID90eBzortaktsVA", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "us-gaap:FairValueByBalanceSheetGroupingTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail", "longName": "40901 - Disclosure - Related Party Transactions - Additional Information (Detail)", "shortName": "Related Party Transactions - Additional Information (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "33", "firstAnchor": { "contextRef": "As_Of_3_31_2024_XT9o4477UkyfUZnv6ql4EQ", "name": "us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrent", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_8_31_2016_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_cix_ValhiIncMember_yJq7EfdzB0avvp-YShr-5Q", "name": "cix:LineOfCreditFacilityMaximumLendingCapacity", "unitRef": "Unit_Standard_USD_XS9-3Nkg6U-36g9FvZYz6Q", "xsiNil": "false", "lang": null, "decimals": "-6", "ancestors": [ "p", "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cix-20240331x10q.htm", "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountsNotesAndLoansReceivableLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsNotesAndLoansReceivableLineItems", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetail" ], "lang": { "en-us": { "role": { "label": "Accounts Notes And Loans Receivable [Line Items]", "terseLabel": "Accounts Notes And Loans Receivable [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_AccountsPayableAndAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableAndAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 }, "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Payable And Accrued Liabilities Current", "terseLabel": "Accounts payable and accrued liabilities", "totalLabel": "Total accounts payable and accrued liabilities", "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": [ "r16" ] }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilities" ], "lang": { "en-us": { "role": { "label": "Accounts Payable And Accrued Liabilities Disclosure [Text Block]", "terseLabel": "Accounts payable and accrued liabilities", "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period." } } }, "auth_ref": [ "r15" ] }, "cix_AccountsPayableAndAccruedLiabilitiesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.compx.com/20240331", "localname": "AccountsPayableAndAccruedLiabilitiesLineItems", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail" ], "lang": { "en-us": { "role": { "documentation": "Accounts payable and accrued liabilities.", "label": "Accounts Payable And Accrued Liabilities [Line Items]", "terseLabel": "Accounts Payable And Accrued Liabilities [Line Items]" } } }, "auth_ref": [] }, "cix_AccountsPayableAndAccruedLiabilitiesTable": { "xbrltype": "stringItemType", "nsuri": "http://www.compx.com/20240331", "localname": "AccountsPayableAndAccruedLiabilitiesTable", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail" ], "lang": { "en-us": { "role": { "documentation": "Accounts payable and accrued liabilities.", "label": "Accounts Payable And Accrued Liabilities [Table]", "terseLabel": "Accounts Payable And Accrued Liabilities [Table]" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail": { "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Accounts Payable Current", "terseLabel": "Accounts payable", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r14", "r558" ] }, "us-gaap_AccountsPayableCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrentAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Accounts Payable Current [Abstract]", "terseLabel": "Accounts payable:" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableFairValueDisclosure", "crdr": "credit", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstrumentsCarryingValueAndEstimatedFairValueOfFinancialInstrumentsDetail" ], "lang": { "en-us": { "role": { "label": "Accounts Payable Fair Value Disclosure", "terseLabel": "Accounts payable", "documentation": "Fair value portion of liabilities incurred for goods and services received that are used in an entity's business and related party payables." } } }, "auth_ref": [ "r344" ] }, "us-gaap_AccountsReceivableFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstrumentsCarryingValueAndEstimatedFairValueOfFinancialInstrumentsDetail" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable Fair Value Disclosure", "terseLabel": "Accounts receivable, net", "documentation": "Fair value portion of amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties." } } }, "auth_ref": [ "r344" ] }, "us-gaap_AccountsReceivableGrossCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableGrossCurrent", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetail": { "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetail" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, before Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, gross", "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": [ "r109", "r201", "r202", "r541" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 }, "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetail", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable Net Current", "terseLabel": "Accounts receivable, net", "totalLabel": "Total accounts receivable, net", "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": [ "r201", "r202" ] }, "us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccrualForTaxesOtherThanIncomeTaxesCurrent", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail": { "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Accrual For Taxes Other Than Income Taxes Current", "terseLabel": "Taxes other than on income", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for real and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r17", "r38", "r542" ] }, "cix_AccruedCustomerToolingCost": { "xbrltype": "monetaryItemType", "nsuri": "http://www.compx.com/20240331", "localname": "AccruedCustomerToolingCost", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail": { "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail" ], "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for customer tooling.", "label": "Accrued Customer Tooling Cost", "terseLabel": "Customer tooling" } } }, "auth_ref": [] }, "us-gaap_AccruedInsuranceCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedInsuranceCurrent", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail": { "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Accrued Insurance, Current", "terseLabel": "Insurance", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverage's to employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r17" ] }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrentAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities Current [Abstract]", "terseLabel": "Accrued liabilities:" } } }, "auth_ref": [] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accumulated Depreciation Depletion And Amortization Property Plant And Equipment", "terseLabel": "Less accumulated depreciation", "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": [ "r36", "r102", "r425" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "AOCI, Debt Securities, Available-for-Sale, Adjustment, after Tax", "terseLabel": "Accumulated other comprehensive loss - unrealized loss on marketable securities", "documentation": "Amount, after tax, of accumulated unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r590" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated other comprehensive loss", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r2", "r8", "r24", "r326", "r329", "r357", "r445", "r446", "r591", "r592", "r593", "r597", "r598", "r599" ] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Additional Paid In Capital Common Stock", "terseLabel": "Additional paid-in capital", "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital." } } }, "auth_ref": [ "r53" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Additional Paid In Capital [Member]", "terseLabel": "Additional paid-in capital", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r294", "r295", "r296", "r466", "r597", "r598", "r599", "r614", "r622" ] }, "cix_AdvancesFromCustomers": { "xbrltype": "monetaryItemType", "nsuri": "http://www.compx.com/20240331", "localname": "AdvancesFromCustomers", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail": { "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail" ], "lang": { "en-us": { "role": { "documentation": "The amount of advances from customer classified as current.", "label": "Advances from customers", "terseLabel": "Advances from customers" } } }, "auth_ref": [] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetail": { "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetail" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Allowance for Credit Loss, Current", "negatedLabel": "Allowance for doubtful accounts", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r110", "r203", "r244" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "terseLabel": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "cix_AssetNoncurrentOtherThanPropertyPlantEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.compx.com/20240331", "localname": "AssetNoncurrentOtherThanPropertyPlantEquipmentAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "documentation": "Asset noncurrent other than property plant equipment.", "label": "Asset Noncurrent Other Than Property Plant Equipment [Abstract]", "terseLabel": "Other assets:" } } }, "auth_ref": [] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "Total assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r80", "r105", "r129", "r171", "r186", "r192", "r239", "r267", "r268", "r270", "r271", "r272", "r274", "r276", "r278", "r279", "r319", "r323", "r345", "r418", "r497", "r558", "r569", "r611", "r612", "r617" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets Current", "totalLabel": "Total current assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r98", "r112", "r129", "r239", "r267", "r268", "r270", "r271", "r272", "r274", "r276", "r278", "r279", "r319", "r323", "r345", "r558", "r611", "r612", "r617" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets Current [Abstract]", "terseLabel": "Current assets:" } } }, "auth_ref": [] }, "us-gaap_AssetsNoncurrentOtherThanNoncurrentInvestmentsAndPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsNoncurrentOtherThanNoncurrentInvestmentsAndPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets Noncurrent Other Than Noncurrent Investments And Property Plant And Equipment", "totalLabel": "Total other assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets, excluding property, plant, and equipment and other property and investments, that are expected to be realized in cash, sold or consumed after one year or beyond the normal operating cycle, if longer. Alternate captions include Total Deferred Charges and Other Assets." } } }, "auth_ref": [] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationPolicies" ], "lang": { "en-us": { "role": { "label": "Basis Of Accounting Policy Policy [Text Block]", "terseLabel": "Basis of Presentation", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "cix_BasisOfPresentationAndSignificantAccountingPoliciesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.compx.com/20240331", "localname": "BasisOfPresentationAndSignificantAccountingPoliciesLineItems", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Basis of presentation and significant accounting policies.", "label": "Basis Of Presentation And Significant Accounting Policies [Line Items]", "terseLabel": "Basis Of Presentation And Significant Accounting Policies [Line Items]" } } }, "auth_ref": [] }, "cix_BasisOfPresentationAndSignificantAccountingPoliciesTable": { "xbrltype": "stringItemType", "nsuri": "http://www.compx.com/20240331", "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTable", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Basis of presentation and significant accounting policies.", "label": "Basis Of Presentation And Significant Accounting Policies [Table]", "terseLabel": "Basis Of Presentation And Significant Accounting Policies [Table]" } } }, "auth_ref": [] }, "us-gaap_BuildingsAndImprovementsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BuildingsAndImprovementsGross", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Buildings And Improvements Gross", "terseLabel": "Buildings", "documentation": "Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing." } } }, "auth_ref": [ "r73" ] }, "us-gaap_CarryingReportedAmountFairValueDisclosureMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CarryingReportedAmountFairValueDisclosureMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstrumentsCarryingValueAndEstimatedFairValueOfFinancialInstrumentsDetail" ], "lang": { "en-us": { "role": { "label": "Reported Value Measurement [Member]", "terseLabel": "Carrying Amount", "documentation": "Measured as reported on the statement of financial position (balance sheet)." } } }, "auth_ref": [ "r40", "r41" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash And Cash Equivalents At Carrying Value", "terseLabel": "Cash and cash equivalents", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r30", "r100", "r539" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstrumentsCarryingValueAndEstimatedFairValueOfFinancialInstrumentsDetail" ], "lang": { "en-us": { "role": { "label": "Cash And Cash Equivalents Fair Value Disclosure", "terseLabel": "Cash and cash equivalents", "documentation": "Fair value portion 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." } } }, "auth_ref": [] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations", "periodEndLabel": "Balance at end of year", "periodStartLabel": "Balance at beginning of period", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, 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": [ "r30", "r68", "r128" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect", "totalLabel": "Operating, investing and financing activities", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r1", "r68" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash And Cash Equivalents Period Increase Decrease [Abstract]", "terseLabel": "Cash and cash equivalents - net change from:" } } }, "auth_ref": [] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "terseLabel": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_ClassOfStockDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfStockDomain", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Class Of Stock [Domain]", "terseLabel": "Class of Stock", "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": [ "r92", "r106", "r107", "r108", "r129", "r157", "r158", "r160", "r162", "r165", "r166", "r239", "r267", "r270", "r271", "r272", "r278", "r279", "r283", "r284", "r286", "r287", "r289", "r345", "r456", "r457", "r458", "r459", "r466", "r467", "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r485", "r506", "r528", "r534", "r535", "r536", "r537", "r538", "r576", "r594", "r600" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Commitments And Contingencies", "terseLabel": "Commitments and contingencies (Note 1)", "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": [ "r21", "r44", "r420", "r484" ] }, "us-gaap_CommonClassAMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonClassAMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Class A [Member]", "terseLabel": "Class A Common Stock", "documentation": "Classification of common stock representing ownership interest in a corporation." } } }, "auth_ref": [ "r622" ] }, "us-gaap_CommonStockDividendsPerShareCashPaid": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockDividendsPerShareCashPaid", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock Dividends Per Share Cash Paid", "terseLabel": "Cash dividends per share", "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding." } } }, "auth_ref": [ "r74" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock [Member]", "terseLabel": "Common stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r559", "r560", "r561", "r563", "r564", "r565", "r566", "r597", "r598", "r614", "r620", "r622" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock Value", "terseLabel": "Class A common stock", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r52", "r422", "r558" ] }, "cix_CompXInternationalIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.compx.com/20240331", "localname": "CompXInternationalIncMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "CompX International Inc.", "label": "Comp X International Inc [Member]", "terseLabel": "CompX International Inc" } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r25", "r118", "r120", "r124", "r414", "r431" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]", "terseLabel": "Consolidation Items" } } }, "auth_ref": [ "r135", "r173", "r184", "r185", "r186", "r187", "r188", "r190", "r194", "r267", "r268", "r269", "r270", "r272", "r273", "r275", "r277", "r278", "r611", "r612" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]", "terseLabel": "Consolidation Items" } } }, "auth_ref": [ "r135", "r173", "r184", "r185", "r186", "r187", "r188", "r190", "r194", "r267", "r268", "r269", "r270", "r272", "r273", "r275", "r277", "r278", "r611", "r612" ] }, "us-gaap_ConstructionInProgressGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConstructionInProgressGross", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Construction In Progress Gross", "terseLabel": "Construction in progress", "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service." } } }, "auth_ref": [ "r73" ] }, "cix_ContranCorporationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.compx.com/20240331", "localname": "ContranCorporationMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Contran Corporation.", "label": "Contran Corporation [Member]", "terseLabel": "Contran Corporation" } } }, "auth_ref": [] }, "us-gaap_CorporateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Corporate Segment [Member]", "terseLabel": "Corporate", "documentation": "Component of an entity that usually provides financial, operational and administrative support and is considered an operating segment. Excludes intersegment elimination and reconciling items." } } }, "auth_ref": [ "r601" ] }, "us-gaap_CorporateNonSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateNonSegmentMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail" ], "lang": { "en-us": { "role": { "label": "Corporate Non Segment [Member]", "terseLabel": "Corporate", "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment." } } }, "auth_ref": [ "r10", "r185", "r186", "r187", "r188", "r194", "r602" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Cost Of Goods And Services Sold", "terseLabel": "Cost of sales", "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities." } } }, "auth_ref": [ "r65", "r397" ] }, "srt_CounterpartyNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "CounterpartyNameAxis", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Axis]" } } }, "auth_ref": [ "r133", "r134", "r280", "r285", "r365", "r546", "r548" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "cix_CurrentAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.compx.com/20240331", "localname": "CurrentAssetsMember", "presentation": [ "http://www.compx.com/role/DisclosureMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to current assets.", "label": "Current Assets [Member]", "terseLabel": "Current assets" } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense Benefit", "terseLabel": "Deferred income taxes", "verboseLabel": "Deferred income tax benefit", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r5", "r76", "r87", "r312", "r313", "r596" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesNoncurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Liabilities Net", "terseLabel": "Deferred income taxes", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r298", "r299", "r419" ] }, "us-gaap_DeferredRevenueCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredRevenueCurrent", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail": { "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Deferred Revenue, Current", "terseLabel": "Deferred revenue", "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r588" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Depreciation Depletion And Amortization", "terseLabel": "Depreciation 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": [ "r5", "r176" ] }, "us-gaap_DisaggregationOfRevenueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail" ], "lang": { "en-us": { "role": { "label": "Disaggregation Of Revenue [Abstract]", "terseLabel": "Net sales:" } } }, "auth_ref": [] }, "cix_DisclosureOtherComprehensiveIncomeLossTaxEffectsAllocationToComponentOfOtherComprehensiveIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.compx.com/20240331", "localname": "DisclosureOtherComprehensiveIncomeLossTaxEffectsAllocationToComponentOfOtherComprehensiveIncomeLossAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "documentation": "Disclosure Other Comprehensive Income Loss Tax Effects Allocated To Component Of Other Comprehensive Income Loss.", "label": "Disclosure Other Comprehensive Income Loss Tax Effects Allocation to Component Of Other Comprehensive Income Loss [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DividendsCommonStockCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsCommonStockCash", "crdr": "debit", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Dividends Common Stock Cash", "negatedLabel": "Cash dividends", "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash." } } }, "auth_ref": [ "r74" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "verboseLabel": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "terseLabel": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Quarterly Report", "verboseLabel": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r573" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "terseLabel": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r574" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Type", "terseLabel": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic", "terseLabel": "Net income per basic share", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r125", "r145", "r146", "r147", "r148", "r149", "r155", "r157", "r160", "r161", "r162", "r163", "r335", "r336", "r415", "r432", "r549" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted", "terseLabel": "Net income per diluted share", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r125", "r145", "r146", "r147", "r148", "r149", "r157", "r160", "r161", "r162", "r163", "r335", "r336", "r415", "r432", "r549" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate", "terseLabel": "U.S. federal statutory income tax rate", "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)." } } }, "auth_ref": [ "r130", "r301", "r314" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail": { "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Employee Related Liabilities Current", "terseLabel": "Employee benefits", "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r17" ] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address Address Line1", "terseLabel": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine2": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine2", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address Address Line2", "terseLabel": "Entity Address, Address Line Two", "documentation": "Address Line 2 such as Street or Suite number" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address City Or Town", "terseLabel": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address State Or Province", "terseLabel": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "terseLabel": "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": [ "r571" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock Shares Outstanding", "verboseLabel": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "terseLabel": "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/2023", "localname": "EntityDomain", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Entity [Domain]", "terseLabel": "Entity", "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/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r571" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity File Number", "terseLabel": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "terseLabel": "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": [ "r571" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation State Country Code", "terseLabel": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "verboseLabel": "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": [ "r575" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "terseLabel": "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": [ "r571" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "terseLabel": "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": [ "r571" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "terseLabel": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r571" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "terseLabel": "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": [ "r571" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "terseLabel": "Equity Component", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r9", "r94", "r121", "r122", "r123", "r136", "r137", "r138", "r142", "r150", "r152", "r164", "r240", "r243", "r290", "r294", "r295", "r296", "r305", "r306", "r325", "r326", "r327", "r328", "r329", "r331", "r334", "r349", "r350", "r351", "r352", "r353", "r354", "r357", "r445", "r446", "r447", "r466", "r528" ] }, "us-gaap_EstimateOfFairValueFairValueDisclosureMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EstimateOfFairValueFairValueDisclosureMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstrumentsCarryingValueAndEstimatedFairValueOfFinancialInstrumentsDetail" ], "lang": { "en-us": { "role": { "label": "Estimate of Fair Value Measurement [Member]", "terseLabel": "Fair Value", "documentation": "Measured as an estimate of fair value." } } }, "auth_ref": [ "r281", "r344", "r554", "r555" ] }, "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstrumentsCarryingValueAndEstimatedFairValueOfFinancialInstrumentsDetail" ], "lang": { "en-us": { "role": { "label": "Fair Value Balance Sheet Grouping Financial Statement Captions [Line Items]", "terseLabel": "Fair Value Balance Sheet Grouping Financial Statement Captions [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_FairValueByBalanceSheetGroupingTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByBalanceSheetGroupingTable", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstrumentsCarryingValueAndEstimatedFairValueOfFinancialInstrumentsDetail" ], "lang": { "en-us": { "role": { "label": "Fair Value By Balance Sheet Grouping [Table]", "terseLabel": "Fair Value By Balance Sheet Grouping [Table]", "documentation": "Disclosure of information about the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities." } } }, "auth_ref": [ "r39", "r40", "r41" ] }, "us-gaap_FairValueByBalanceSheetGroupingTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByBalanceSheetGroupingTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "label": "Fair Value By Balance Sheet Grouping [Text Block]", "terseLabel": "Carrying Value and Estimated Fair Value of Financial Instruments", "documentation": "Tabular disclosure of the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities." } } }, "auth_ref": [ "r39", "r40" ] }, "us-gaap_FairValueByMeasurementBasisAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementBasisAxis", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstrumentsCarryingValueAndEstimatedFairValueOfFinancialInstrumentsDetail" ], "lang": { "en-us": { "role": { "label": "Fair Value By Measurement Basis [Axis]", "documentation": "Information by measurement basis." } } }, "auth_ref": [ "r11", "r39", "r281", "r554", "r555" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstruments" ], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Financial instruments", "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information." } } }, "auth_ref": [ "r340" ] }, "us-gaap_FinancialInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentAxis", "presentation": [ "http://www.compx.com/role/DisclosureMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Financial Instrument [Axis]", "documentation": "Information by type of financial instrument." } } }, "auth_ref": [ "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r282", "r288", "r332", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r430", "r552", "r578", "r579", "r580", "r581", "r582", "r583", "r584", "r604", "r605", "r606", "r607" ] }, "us-gaap_FinancingReceivablesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivablesTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNet" ], "lang": { "en-us": { "role": { "label": "Financing Receivables [Text Block]", "terseLabel": "Accounts receivable, net", "documentation": "The entire disclosure for financing receivable." } } }, "auth_ref": [ "r200", "r204", "r205", "r206", "r551" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsNoncurrentOtherThanNoncurrentInvestmentsAndPropertyPlantAndEquipment", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Goodwill", "terseLabel": "Goodwill", "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r103", "r254", "r413", "r553", "r558", "r609", "r610" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Gross Profit", "totalLabel": "Gross margin", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r64", "r129", "r171", "r185", "r191", "r194", "r239", "r267", "r268", "r270", "r271", "r272", "r274", "r276", "r278", "r279", "r345", "r550", "r611" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest", "totalLabel": "Income before income taxes", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r0", "r61", "r82", "r171", "r185", "r191", "r194", "r416", "r427", "r550" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF INCOME AND COMPREHENSIVE INCOME" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Provision for income taxes", "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information." } } }, "auth_ref": [ "r130", "r297", "r302", "r303", "r304", "r310", "r315", "r316", "r317", "r461" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 }, "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense Benefit", "terseLabel": "Provision for income taxes", "totalLabel": "Total provision for income taxes", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r86", "r90", "r151", "r152", "r179", "r300", "r311", "r433" ] }, "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefitContinuingOperationsAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense Benefit Continuing Operations [Abstract]", "terseLabel": "Income tax expense:" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "label": "Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate", "terseLabel": "Expected tax expense, at the U.S. federal statutory income tax rate of 21%", "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations." } } }, "auth_ref": [ "r301" ] }, "us-gaap_IncomeTaxReconciliationOtherAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationOtherAdjustments", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "label": "Income Tax Reconciliation Other Adjustments", "terseLabel": "Other, net", "documentation": "Amount 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": [ "r613" ] }, "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "label": "Income Tax Reconciliation State And Local Income Taxes", "terseLabel": "State income taxes", "documentation": "Amount 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 state and local income tax expense (benefit)." } } }, "auth_ref": [ "r613" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Income Taxes Paid Net", "terseLabel": "Cash paid for income taxes", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes." } } }, "auth_ref": [ "r31" ] }, "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase Decrease In Accounts Payable And Accrued Liabilities", "terseLabel": "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": [ "r4" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase Decrease In Accounts Receivable", "negatedLabel": "Accounts receivable, net", "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncreaseDecreaseInDueToAffiliates": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInDueToAffiliates", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase Decrease In Due To Affiliates", "terseLabel": "Accounts with affiliates", "documentation": "The increase (decrease) in obligations owed to an entity that is controlling, under the control of, or within the same control group as the reporting entity by means of direct or indirect ownership." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase Decrease In Inventories", "negatedLabel": "Inventories, net", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r4" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase Decrease In Operating Capital [Abstract]", "terseLabel": "Change in assets and liabilities:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase Decrease In Prepaid Deferred Expense And Other Assets", "negatedLabel": "Prepaids and other, net", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r4" ] }, "us-gaap_InterestAndDividendIncomeSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestAndDividendIncomeSecurities", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail", "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Interest Income, Operating", "terseLabel": "Interest income", "documentation": "Amount of operating dividend and interest income, including amortization and accretion of premiums and discounts, on securities." } } }, "auth_ref": [ "r621", "r623" ] }, "us-gaap_InventoryCurrentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryCurrentTable", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail" ], "lang": { "en-us": { "role": { "label": "Inventory Current [Table]", "terseLabel": "Inventory Current [Table]", "documentation": "Disclosure of information about inventory expected to be sold or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNet" ], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Text Block]", "terseLabel": "Inventories, net", "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": [ "r253" ] }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoodsNetOfReserves", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail" ], "lang": { "en-us": { "role": { "label": "Inventory Finished Goods Net Of Reserves", "terseLabel": "Total finished goods", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale." } } }, "auth_ref": [ "r72", "r543" ] }, "us-gaap_InventoryLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryLineItems", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail" ], "lang": { "en-us": { "role": { "label": "Inventory [Line Items]", "terseLabel": "Inventory [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_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Inventory Net", "terseLabel": "Inventories, net", "totalLabel": "Total inventories, 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": [ "r111", "r540", "r558" ] }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterialsNetOfReserves", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail" ], "lang": { "en-us": { "role": { "label": "Inventory Raw Materials Net Of Reserves", "terseLabel": "Total raw materials", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process." } } }, "auth_ref": [ "r72", "r545" ] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail" ], "lang": { "en-us": { "role": { "label": "Inventory Work In Process Net Of Reserves", "terseLabel": "Total work-in-process", "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing." } } }, "auth_ref": [ "r72", "r544" ] }, "us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentsDebtAndEquitySecuritiesAbstract", "lang": { "en-us": { "role": { "label": "Investments, Debt and Equity Securities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock", "presentation": [ "http://www.compx.com/role/DisclosureMarketableSecurities" ], "lang": { "en-us": { "role": { "label": "Investments in Debt and Marketable Equity Securities (and Certain Trading Assets) Disclosure [Text Block]", "terseLabel": "Marketable securities", "documentation": "The entire disclosure for investments in certain debt and equity securities." } } }, "auth_ref": [ "r79", "r84", "r85", "r93", "r207", "r208", "r341", "r342" ] }, "us-gaap_Land": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Land", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Land", "terseLabel": "Land", "documentation": "Amount before accumulated depletion of real estate held for productive use, excluding land held for sale." } } }, "auth_ref": [ "r585" ] }, "dei_LegalEntityAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LegalEntityAxis", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Legal Entity [Axis]", "terseLabel": "Legal Entity", "documentation": "The set of legal entities associated with a report." } } }, "auth_ref": [] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities And Stockholders Equity", "totalLabel": "Total liabilities and stockholders' equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r57", "r81", "r424", "r558", "r595", "r608", "r615" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities And Stockholders Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities Current", "totalLabel": "Total current liabilities", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r18", "r99", "r129", "r239", "r267", "r268", "r270", "r271", "r272", "r274", "r276", "r278", "r279", "r320", "r323", "r324", "r345", "r558", "r611", "r617", "r618" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Noncurrent", "totalLabel": "Total noncurrent liabilities", "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer." } } }, "auth_ref": [ "r12", "r47", "r48", "r49", "r50", "r129", "r239", "r267", "r268", "r270", "r271", "r272", "r274", "r276", "r278", "r279", "r320", "r323", "r324", "r345", "r611", "r617", "r618" ] }, "us-gaap_LiabilitiesNoncurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesNoncurrentAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities Noncurrent [Abstract]", "terseLabel": "Noncurrent liabilities:" } } }, "auth_ref": [] }, "cix_LineOfCreditFacilityMaximumLendingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://www.compx.com/20240331", "localname": "LineOfCreditFacilityMaximumLendingCapacity", "crdr": "debit", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Maximum lending capacity under the terms noted per the related party credit facility.", "label": "Line Of Credit Facility Maximum Lending Capacity", "terseLabel": "Maximum loan amount" } } }, "auth_ref": [] }, "us-gaap_LoansReceivableBasisSpreadOnVariableRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LoansReceivableBasisSpreadOnVariableRate", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Loans Receivable Basis Spread On Variable Rate", "terseLabel": "Interest rate on loans repayment", "documentation": "Percentage added to reference rate used to compute variable rate on loan receivable." } } }, "auth_ref": [] }, "cix_LoansReceivablePrincipalDueOnDemandEffectiveDate": { "xbrltype": "dateItemType", "nsuri": "http://www.compx.com/20240331", "localname": "LoansReceivablePrincipalDueOnDemandEffectiveDate", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Loans receivable principal due on demand effective date.", "label": "Loans Receivable Principal Due On Demand Effective Date", "terseLabel": "Principal due on demand effective date" } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "terseLabel": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeAxis", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Longterm Debt Type [Axis]", "terseLabel": "Long-term Debt, Type", "documentation": "Information by type of long-term debt." } } }, "auth_ref": [ "r19" ] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeDomain", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Longterm Debt Type [Domain]", "terseLabel": "Long-term Debt, Type", "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "auth_ref": [ "r19", "r37" ] }, "us-gaap_MachineryAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MachineryAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Machinery And Equipment Gross", "terseLabel": "Equipment", "documentation": "Amount before accumulated depreciation of 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": [ "r73" ] }, "cix_MarineComponentsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.compx.com/20240331", "localname": "MarineComponentsMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail", "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetail", "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail", "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail" ], "lang": { "en-us": { "role": { "documentation": "Marine components.", "label": "Marine Components", "terseLabel": "Marine Components" } } }, "auth_ref": [] }, "us-gaap_MarketableSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MarketableSecurities", "crdr": "debit", "presentation": [ "http://www.compx.com/role/DisclosureMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Marketable Securities", "terseLabel": "Market value", "documentation": "Amount of investment in marketable security." } } }, "auth_ref": [ "r45", "r587" ] }, "cix_MarketableSecuritiesAmortizedCost": { "xbrltype": "monetaryItemType", "nsuri": "http://www.compx.com/20240331", "localname": "MarketableSecuritiesAmortizedCost", "crdr": "debit", "presentation": [ "http://www.compx.com/role/DisclosureMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amortized cost of investments in marketable Securities.", "label": "Marketable Securities, Amortized Cost", "terseLabel": "Amortized cost basis" } } }, "auth_ref": [] }, "us-gaap_MarketableSecuritiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MarketableSecuritiesCurrent", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Marketable Securities, Current", "terseLabel": "Marketable securities", "documentation": "Amount of investment in marketable security, classified as current." } } }, "auth_ref": [ "r587" ] }, "us-gaap_MarketableSecuritiesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MarketableSecuritiesLineItems", "presentation": [ "http://www.compx.com/role/DisclosureMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Marketable Securities [Line Items]", "terseLabel": "Marketable securities", "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_MarketableSecuritiesTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MarketableSecuritiesTable", "presentation": [ "http://www.compx.com/role/DisclosureMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Marketable Securities [Table]", "documentation": "Disclosure of information about investment in marketable security." } } }, "auth_ref": [] }, "us-gaap_MarketableSecuritiesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MarketableSecuritiesTextBlock", "presentation": [ "http://www.compx.com/role/DisclosureMarketableSecuritiesTables" ], "lang": { "en-us": { "role": { "label": "Marketable Securities [Table Text Block]", "terseLabel": "Schedule of marketable securities", "documentation": "Tabular disclosure of marketable securities. This may consist of investments in certain debt and equity securities, short-term investments and other assets." } } }, "auth_ref": [] }, "us-gaap_MarketableSecuritiesUnrealizedGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MarketableSecuritiesUnrealizedGainLoss", "crdr": "credit", "presentation": [ "http://www.compx.com/role/DisclosureMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Marketable Securities, Unrealized Gain (Loss)", "terseLabel": "Unrealized loss, net", "documentation": "Amount of unrealized gain (loss) on investment in marketable security." } } }, "auth_ref": [ "r63" ] }, "us-gaap_MinorityInterestOwnershipPercentageByParent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MinorityInterestOwnershipPercentageByParent", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Minority Interest Ownership Percentage By Parent", "terseLabel": "Percentage of ownership held by parent company", "documentation": "The parent entity's interest in net assets of the subsidiary, expressed as a percentage." } } }, "auth_ref": [] }, "cix_NLIndustriesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.compx.com/20240331", "localname": "NLIndustriesMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "NL Industries.", "label": "N L Industries [Member]", "terseLabel": "NL Industries" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided By Used In Financing Activities [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided By Used In Investing Activities", "totalLabel": "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": [ "r127" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided By Used In Investing Activities [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided By Used In Operating Activities", "totalLabel": "Net cash provided by operating activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r68", "r69", "r70" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided By Used In Operating Activities [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Net Income Loss", "terseLabel": "Net income", "totalLabel": "Net income", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r62", "r70", "r83", "r97", "r117", "r119", "r123", "r129", "r141", "r145", "r146", "r147", "r148", "r151", "r152", "r159", "r171", "r185", "r191", "r194", "r239", "r267", "r268", "r270", "r271", "r272", "r274", "r276", "r278", "r279", "r336", "r345", "r429", "r505", "r526", "r527", "r550", "r567", "r611" ] }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesAbstract", "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements And Changes In Accounting Principles [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock", "presentation": [ "http://www.compx.com/role/DisclosureRecentAccountingPronouncements" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements And Changes In Accounting Principles [Text Block]", "terseLabel": "Recent Accounting Pronouncements", "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle." } } }, "auth_ref": [ "r88", "r89", "r91", "r95", "r139", "r140", "r143", "r144", "r153", "r154", "r241", "r242", "r307", "r308", "r309", "r330", "r333", "r337", "r338", "r339", "r346", "r347", "r348", "r355", "r356", "r358", "r398", "r399", "r400", "r448", "r449", "r450", "r451", "r452" ] }, "cix_NoncashInterestIncome": { "xbrltype": "monetaryItemType", "nsuri": "http://www.compx.com/20240331", "localname": "NoncashInterestIncome", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Amount of interest income included in net income that result in no cash inflow (outflow).", "label": "Noncash Interest Income", "negatedLabel": "Noncash interest income" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Operating Income Loss", "terseLabel": "Total operating income", "totalLabel": "Operating income", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r171", "r185", "r191", "r194", "r550" ] }, "us-gaap_OperatingIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLossAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail" ], "lang": { "en-us": { "role": { "label": "Operating Income Loss [Abstract]", "terseLabel": "Operating income (loss):" } } }, "auth_ref": [] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail" ], "lang": { "en-us": { "role": { "label": "Operating Segments [Member]", "terseLabel": "Operating Segments", "documentation": "Identifies 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": [ "r184", "r185", "r186", "r187", "r188", "r194" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Organization Consolidation And Presentation Of Financial Statements [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentation" ], "lang": { "en-us": { "role": { "label": "Organization Consolidation And Presentation Of Financial Statements Disclosure [Text Block]", "terseLabel": "Organization and basis of presentation", "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure." } } }, "auth_ref": [ "r46", "r77", "r453", "r454" ] }, "cix_OrganizationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.compx.com/20240331", "localname": "OrganizationPolicyTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationPolicies" ], "lang": { "en-us": { "role": { "documentation": "Organization.", "label": "Organization Policy [Text Block]", "terseLabel": "Organization" } } }, "auth_ref": [] }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail": { "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Other Accrued Liabilities Current", "terseLabel": "Other", "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r17" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsNoncurrentOtherThanNoncurrentInvestmentsAndPropertyPlantAndEquipment", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets Noncurrent", "terseLabel": "Other noncurrent assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r104" ] }, "us-gaap_OtherComprehensiveIncomeAvailableForSaleSecuritiesTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeAvailableForSaleSecuritiesTaxAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment, Tax [Abstract]", "terseLabel": "Other comprehensive loss, marketable securities adjustment:" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeAvailableforsaleSecuritiesTaxPortionAttributableToParent", "crdr": "debit", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Available-for-Sale Securities, Tax, Portion Attributable to Parent", "terseLabel": "Other comprehensive loss - marketable securities", "documentation": "Amount, after reclassification adjustment, of tax expense (benefit) for gain (loss) in value of unsold investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), attributable to parent." } } }, "auth_ref": [ "r3", "r7", "r78" ] }, "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax", "terseLabel": "Unrealized loss arising during year, net", "documentation": "Amount, after tax and adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale." } } }, "auth_ref": [ "r113", "r114", "r115" ] }, "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesTax", "crdr": "debit", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment, Tax", "negatedLabel": "Other comprehensive loss", "documentation": "Amount, after adjustment, of tax expense (benefit) for unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and tax expense (benefit) for unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale." } } }, "auth_ref": [ "r113", "r114", "r116" ] }, "us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossTaxPortionAttributableToParent1", "crdr": "debit", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesProvisionForIncomeTaxesDetail" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Tax, Portion Attributable to Parent", "totalLabel": "Total", "documentation": "Amount of tax expense (benefit) allocated to other comprehensive income (loss) attributable to parent entity." } } }, "auth_ref": [ "r3", "r7", "r78" ] }, "us-gaap_OtherLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Current", "terseLabel": "Income taxes payable to affiliate", "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r17", "r558" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesNoncurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities and Other Liabilities", "terseLabel": "Other", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r20" ] }, "us-gaap_OtherNoncashIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNoncashIncomeExpense", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Other Noncash Income Expense", "negatedLabel": "Other, net", "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other." } } }, "auth_ref": [ "r70" ] }, "us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherReceivableAfterAllowanceForCreditLossNoncurrent", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsNoncurrentOtherThanNoncurrentInvestmentsAndPropertyPlantAndEquipment", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Receivable, after Allowance for Credit Loss, Noncurrent", "terseLabel": "Note receivable from affiliate", "documentation": "Amount, after allowance for credit loss, of receivable classified as other and noncurrent." } } }, "auth_ref": [ "r586" ] }, "srt_OwnershipAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "OwnershipAxis", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Ownership [Axis]", "terseLabel": "Ownership" } } }, "auth_ref": [] }, "srt_OwnershipDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "OwnershipDomain", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Ownership [Domain]", "terseLabel": "Ownership" } } }, "auth_ref": [] }, "us-gaap_PayablesAndAccrualsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PayablesAndAccrualsAbstract", "lang": { "en-us": { "role": { "label": "Payables And Accruals [Abstract]" } } }, "auth_ref": [] }, "us-gaap_PaymentsForAdvanceToAffiliate": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForAdvanceToAffiliate", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments For Advance To Affiliate", "negatedLabel": "Advances", "documentation": "The cash outflow from advancing money to an affiliate (an entity that is related but not strictly controlled by the entity)." } } }, "auth_ref": [ "r28" ] }, "us-gaap_PaymentsForProceedsFromInvestmentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForProceedsFromInvestmentsAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments For Proceeds From Investments [Abstract]", "terseLabel": "Note receivable from affiliate:" } } }, "auth_ref": [] }, "us-gaap_PaymentsOfDividendsCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDividendsCommonStock", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments Of Dividends Common Stock", "totalLabel": "Dividends paid", "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity." } } }, "auth_ref": [ "r29" ] }, "us-gaap_PaymentsToAcquireMarketableSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireMarketableSecurities", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Marketable Securities", "negatedLabel": "Purchases", "documentation": "Amount of cash outflow for purchase of marketable security." } } }, "auth_ref": [ "r603" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments To Acquire Property Plant And Equipment", "negatedLabel": "Capital expenditures", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r67" ] }, "us-gaap_PortionAtFairValueFairValueDisclosureMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PortionAtFairValueFairValueDisclosureMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureFinancialInstrumentsCarryingValueAndEstimatedFairValueOfFinancialInstrumentsDetail" ], "lang": { "en-us": { "role": { "label": "Portion At Fair Value Fair Value Disclosure [Member]", "documentation": "Measured at fair value for financial reporting purposes." } } }, "auth_ref": [ "r343" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Preferred Stock Value", "terseLabel": "Preferred stock", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r51", "r421", "r558" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense And Other Assets Current", "terseLabel": "Prepaid expenses and other", "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": [ "r589" ] }, "us-gaap_ProceedsFromSaleMaturityAndCollectionOfShorttermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleMaturityAndCollectionOfShorttermInvestments", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Sale, Maturity and Collection of Short-Term Investments", "terseLabel": "Proceeds from maturities", "documentation": "The cash inflow from sales, maturities, prepayments, calls and collections of all investments, including securities and other assets, having ready marketability and intended by management to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term." } } }, "auth_ref": [ "r26" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Profit Loss", "terseLabel": "Net income", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r97", "r117", "r119", "r126", "r129", "r141", "r151", "r152", "r171", "r185", "r191", "r194", "r239", "r267", "r268", "r270", "r271", "r272", "r274", "r276", "r278", "r279", "r318", "r321", "r322", "r336", "r345", "r416", "r428", "r465", "r505", "r526", "r527", "r550", "r556", "r557", "r568", "r593", "r611" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property Plant And Equipment Gross", "totalLabel": "Gross property and equipment", "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": [ "r73", "r101", "r426" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property Plant And Equipment Net", "totalLabel": "Net property and equipment", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r6", "r417", "r426", "r558" ] }, "us-gaap_PropertyPlantAndEquipmentNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNetAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property Plant And Equipment Net [Abstract]", "terseLabel": "Property and equipment:" } } }, "auth_ref": [] }, "us-gaap_ReceivablesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesAbstract", "lang": { "en-us": { "role": { "label": "Receivables [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RelatedPartyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyDomain", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Related Party [Domain]", "terseLabel": "Related Party", "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests." } } }, "auth_ref": [ "r293", "r362", "r363", "r479", "r480", "r481", "r482", "r483", "r502", "r504", "r533" ] }, "us-gaap_RelatedPartyMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Related Party [Member]", "documentation": "Party related to reporting entity. Includes, but is not limited to, affiliate, entity for which investment is accounted for by equity method, trust for benefit of employees, and principal owner, management, and members of immediate family." } } }, "auth_ref": [ "r131", "r132", "r362", "r363", "r364", "r365", "r479", "r480", "r481", "r482", "r483", "r502", "r504", "r533" ] }, "us-gaap_RelatedPartyTransactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionLineItems", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Related Party Transaction [Line Items]", "terseLabel": "Related Party Transaction [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r509", "r510", "r513" ] }, "us-gaap_RelatedPartyTransactionsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionsAbstract", "lang": { "en-us": { "role": { "label": "Related Party Transactions [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionsByRelatedPartyAxis", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Related Party Transactions By Related Party [Axis]", "terseLabel": "Related Party", "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests." } } }, "auth_ref": [ "r293", "r362", "r363", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r410", "r411", "r412", "r479", "r480", "r481", "r482", "r483", "r502", "r504", "r533", "r616" ] }, "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionsDisclosureTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactions" ], "lang": { "en-us": { "role": { "label": "Related Party Transactions Disclosure [Text Block]", "terseLabel": "Related party transactions", "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates." } } }, "auth_ref": [ "r359", "r360", "r361", "r363", "r366", "r462", "r463", "r464", "r511", "r512", "r513", "r531", "r532" ] }, "us-gaap_RepaymentOfNotesReceivableFromRelatedParties": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentOfNotesReceivableFromRelatedParties", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayment Of Notes Receivable From Related Parties", "terseLabel": "Collections", "documentation": "The cash inflow from a loan, supported by a promissory note, granted to related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth." } } }, "auth_ref": [ "r27" ] }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RepurchaseAgreementCounterpartyNameDomain", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Domain]" } } }, "auth_ref": [ "r133", "r134", "r280", "r285", "r365", "r547", "r548" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings Accumulated Deficit", "terseLabel": "Retained earnings", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r54", "r74", "r423", "r448", "r452", "r460", "r486", "r558" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Retained Earnings [Member]", "terseLabel": "Retained earnings", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r94", "r136", "r137", "r138", "r142", "r150", "r152", "r240", "r243", "r294", "r295", "r296", "r305", "r306", "r325", "r327", "r328", "r331", "r334", "r445", "r447", "r466", "r622" ] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Revenue From Contract With Customer Excluding Assessed Tax", "terseLabel": "Net sales", "verboseLabel": "Total net sales", "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise." } } }, "auth_ref": [ "r172", "r173", "r184", "r189", "r190", "r196", "r198", "r199", "r291", "r292", "r397" ] }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetail" ], "lang": { "en-us": { "role": { "label": "Schedule Of Accounts Notes Loans And Financing Receivable [Table]", "terseLabel": "Schedule Of Accounts Notes Loans And Financing Receivable [Table]", "documentation": "Schedule itemizing specific types of trade accounts and notes receivable, and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables." } } }, "auth_ref": [ "r23" ] }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetTables" ], "lang": { "en-us": { "role": { "label": "Schedule Of Accounts Notes Loans And Financing Receivable [Text Block]", "terseLabel": "Schedule of Accounts Receivable, net", "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables." } } }, "auth_ref": [ "r23" ] }, "us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables" ], "lang": { "en-us": { "role": { "label": "Schedule Of Accounts Payable And Accrued Liabilities Table [Text Block]", "terseLabel": "Accounts payable and accrued liabilities", "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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureProvisionForIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule Of Effective Income Tax Rate Reconciliation Table [Text Block]", "terseLabel": "Provision for Income Taxes", "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": [ "r75" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetTables" ], "lang": { "en-us": { "role": { "label": "Schedule Of Inventory Current Table [Text Block]", "terseLabel": "Inventories, net", "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process." } } }, "auth_ref": [ "r13", "r58", "r59", "r60" ] }, "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Schedule Of Related Party Transactions By Related Party [Table]", "terseLabel": "Schedule Of Related Party Transactions By Related Party [Table]", "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates." } } }, "auth_ref": [ "r42", "r43", "r509", "r510", "r513" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail" ], "lang": { "en-us": { "role": { "label": "Schedule Of Segment Reporting Information By Segment [Table]", "terseLabel": "Schedule Of Segment Reporting Information By Segment [Table]", "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. 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": [ "r32", "r33", "r34", "r35" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationTables" ], "lang": { "en-us": { "role": { "label": "Schedule Of Segment Reporting Information By Segment [Text Block]", "terseLabel": "Schedule of Business Segment Information", "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": [ "r32", "r33", "r34", "r35" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security12b Title", "terseLabel": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r570" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "terseLabel": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r572" ] }, "cix_SecurityProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.compx.com/20240331", "localname": "SecurityProductsMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail", "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetail", "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail", "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail" ], "lang": { "en-us": { "role": { "documentation": "Security products.", "label": "Security Products [Member]", "terseLabel": "Security Products" } } }, "auth_ref": [] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail", "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetail", "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail", "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail" ], "lang": { "en-us": { "role": { "label": "Segment [Domain]", "terseLabel": "Segments", "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": [ "r168", "r171", "r172", "r173", "r174", "r175", "r176", "r177", "r178", "r179", "r180", "r181", "r182", "r184", "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r192", "r194", "r199", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r265", "r266", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r553", "r577", "r619" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Segment Reporting [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformation" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Business segment information", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r167", "r168", "r169", "r170", "r171", "r183", "r188", "r192", "r193", "r194", "r195", "r196", "r197", "r199" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Reporting Information [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Selling General And Administrative Expense", "terseLabel": "Selling, general and administrative expense", "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc." } } }, "auth_ref": [ "r66" ] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsPayableAndAccruedLiabilitiesAccountsPayableAndAccruedLiabilitiesDetail", "http://www.compx.com/20210930/taxonomy/role/DisclosureAccountsReceivableNetScheduleOfAccountsReceivableNetDetail", "http://www.compx.com/20210930/taxonomy/role/DisclosureBusinessSegmentInformationScheduleOfBusinessSegmentInformationDetail", "http://www.compx.com/20210930/taxonomy/role/DisclosureInventoriesNetInventoriesNetDetail" ], "lang": { "en-us": { "role": { "label": "Statement Business Segments [Axis]", "terseLabel": "Segments", "documentation": "Information by business segments." } } }, "auth_ref": [ "r96", "r168", "r171", "r172", "r173", "r174", "r175", "r176", "r177", "r178", "r179", "r180", "r181", "r182", "r184", "r185", "r186", "r187", "r188", "r189", "r190", "r191", "r192", "r194", "r199", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r553", "r577", "r619" ] }, "us-gaap_StatementClassOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementClassOfStockAxis", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement Class Of Stock [Axis]", "terseLabel": "Class of Stock", "documentation": "Information by the different classes of stock of the entity." } } }, "auth_ref": [ "r92", "r106", "r107", "r108", "r129", "r157", "r158", "r160", "r162", "r165", "r166", "r239", "r267", "r270", "r271", "r272", "r278", "r279", "r283", "r284", "r286", "r287", "r289", "r345", "r456", "r457", "r458", "r459", "r466", "r467", "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r485", "r506", "r528", "r534", "r535", "r536", "r537", "r538", "r576", "r594", "r600" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement Equity Components [Axis]", "terseLabel": "Equity Components", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r9", "r22", "r94", "r121", "r122", "r123", "r136", "r137", "r138", "r142", "r150", "r152", "r164", "r240", "r243", "r290", "r294", "r295", "r296", "r305", "r306", "r325", "r326", "r327", "r328", "r329", "r331", "r334", "r349", "r350", "r351", "r352", "r353", "r354", "r357", "r445", "r446", "r447", "r466", "r528" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "terseLabel": "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": [ "r136", "r137", "r138", "r164", "r397", "r455", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r485", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r495", "r496", "r498", "r499", "r500", "r501", "r502", "r504", "r507", "r508", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r528", "r562" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED BALANCE SHEETS" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "terseLabel": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r136", "r137", "r138", "r164", "r397", "r455", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r485", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r495", "r496", "r498", "r499", "r500", "r501", "r502", "r504", "r507", "r508", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r528", "r562" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets", "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders Equity", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total stockholders' equity", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r52", "r55", "r56", "r71", "r487", "r503", "r529", "r530", "r558", "r569", "r595", "r608", "r615", "r622" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Stockholders Equity [Abstract]", "terseLabel": "Stockholders' equity:" } } }, "auth_ref": [] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental disclosures -" } } }, "auth_ref": [] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "terseLabel": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "presentation": [ "http://www.compx.com/role/DisclosureMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "label": "Financial Instruments [Domain]", "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms." } } }, "auth_ref": [ "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r282", "r288", "r332", "r367", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r430", "r578", "r579", "r580", "r581", "r582", "r583", "r584", "r604", "r605", "r606", "r607" ] }, "us-gaap_UnsecuredDebtMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnsecuredDebtMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "label": "Unsecured Debt [Member]", "terseLabel": "Unsecured Revolving Demand Promissory", "documentation": "Debt obligation not collateralized by pledge of, mortgage of or other lien on the entity's assets." } } }, "auth_ref": [] }, "cix_ValhiIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.compx.com/20240331", "localname": "ValhiIncMember", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/DisclosureOrganizationAndBasisOfPresentationAdditionalInformationDetail", "http://www.compx.com/20210930/taxonomy/role/DisclosureRelatedPartyTransactionsAdditionalInformationDetail" ], "lang": { "en-us": { "role": { "documentation": "Valhi Inc.", "label": "Valhi Inc [Member]", "terseLabel": "Valhi Inc" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Weighted average 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": [ "r156", "r162" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.compx.com/20210930/taxonomy/role/StatementCondensedConsolidatedStatementsOfIncomeAndComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted average 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": [ "r155", "r162" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c),(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-4" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "820", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19,20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.3,4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5" }, "r26": { "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" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r30": { "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" }, "r31": { "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" }, "r32": { "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" }, "r33": { "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" }, "r34": { "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" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r36": { "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" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "720", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483384/720-30-45-1" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-11" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-12" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "850", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r43": { "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" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//205/tableOfContent" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 201.5-02(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 201.5-02(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 201.5-02(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(7)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r67": { "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" }, "r68": { "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" }, "r69": { "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" }, "r70": { "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" }, "r71": { "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" }, "r72": { "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" }, "r73": { "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" }, "r74": { "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" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "12", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//810/tableOfContent" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "940", "SubTopic": "320", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//940-320/tableOfContent" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//942-320/tableOfContent" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//946-320/tableOfContent" }, "r86": { "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" }, "r87": { "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" }, "r88": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "SubTopic": "20", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2" }, "r89": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(2)", "SubTopic": "20", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2" }, "r90": { "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" }, "r91": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org//250/tableOfContent" }, "r92": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r93": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1403", "Paragraph": "(b)", "Publisher": "SEC" }, "r94": { "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" }, "r95": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r96": { "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" }, "r97": { "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" }, "r98": { "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" }, "r99": { "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" }, "r100": { "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" }, "r101": { "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" }, "r102": { "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" }, "r103": { "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" }, "r104": { "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" }, "r105": { "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" }, "r106": { "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" }, "r107": { "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" }, "r108": { "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" }, "r109": { "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" }, "r110": { "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" }, "r111": { "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" }, "r112": { "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" }, "r113": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r114": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r115": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r116": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-12" }, "r117": { "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" }, "r118": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r119": { "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" }, "r120": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r121": { "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" }, "r122": { "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" }, "r123": { "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" }, "r124": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r125": { "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" }, "r126": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2" }, "r127": { "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" }, "r128": { "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" }, "r129": { "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" }, "r130": { "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" }, "r131": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(k)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(k)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-04(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3" }, "r136": { "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" }, "r137": { "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" }, "r138": { "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" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r141": { "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" }, "r142": { "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" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r145": { "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" }, "r146": { "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" }, "r147": { "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" }, "r148": { "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" }, "r149": { "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" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-6" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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" }, "r166": { "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" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r168": { "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" }, "r169": { "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" }, "r170": { "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" }, "r171": { "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" }, "r172": { "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" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "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" }, "r178": { "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" }, "r179": { "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" }, "r180": { "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" }, "r181": { "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" }, "r182": { "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" }, "r183": { "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" }, "r184": { "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" }, "r185": { "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" }, "r186": { "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" }, "r187": { "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" }, "r188": { "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" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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" }, "r196": { "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" }, "r197": { "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" }, "r198": { "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" }, "r199": { "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" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//310-10/tableOfContent" }, "r201": { "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" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r203": { "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" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-42" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "44", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-44" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//310-20/tableOfContent" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//320/tableOfContent" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-10" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r239": { "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" }, "r240": { "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" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r243": { "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" }, "r244": { "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" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "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" }, "r259": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r270": { "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" }, "r271": { "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" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r278": { "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" }, "r279": { "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" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r283": { "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" }, "r284": { "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" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r286": { "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" }, "r287": { "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" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r289": { "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" }, "r290": { "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" }, "r291": { "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" }, "r292": { "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" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r298": { "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" }, "r299": { "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" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r310": { "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" }, "r311": { "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" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r315": { "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" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1" }, "r317": { "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" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r319": { "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" }, "r320": { "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" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r331": { "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" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6B" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6B" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482736/825-10-45-2" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-10" }, "r345": { "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" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r349": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r357": { "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" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//850/tableOfContent" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3" }, "r366": { "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" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r373": { "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" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(4)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r397": { "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" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "33", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "33", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "35A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "35A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r430": { "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(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r434": { "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/2147480149/944-235-S99-1" }, "r435": { "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/2147480149/944-235-S99-1" }, "r436": { "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/2147480149/944-235-S99-1" }, "r437": { "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/2147480149/944-235-S99-1" }, "r438": { "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/2147480149/944-235-S99-1" }, "r439": { "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/2147480149/944-235-S99-1" }, "r440": { "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/2147480149/944-235-S99-1" }, "r441": { "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/2147480149/944-235-S99-1" }, "r442": { "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/2147480149/944-235-S99-1" }, "r443": { "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/2147480149/944-235-S99-1" }, "r444": { "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/2147480149/944-235-S99-1" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "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" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r452": { "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" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2" }, "r455": { "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" }, "r456": { "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" }, "r457": { "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" }, "r458": { "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" }, "r459": { "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" }, "r460": { "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "27", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r539": { "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" }, "r540": { "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" }, "r541": { "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" }, "r542": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-8" }, "r543": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r544": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r545": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r546": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-16" }, "r547": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-21" }, "r548": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22" }, "r549": { "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" }, "r550": { "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" }, "r551": { "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" }, "r552": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8" }, "r553": { "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" }, "r554": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B" }, "r555": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C" }, "r556": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J" }, "r557": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K" }, "r558": { "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" }, "r559": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r560": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r561": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1" }, "r562": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r563": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r564": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r565": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r566": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r567": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10" }, "r568": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11" }, "r569": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12" }, "r570": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r571": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r572": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r573": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r574": { "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" }, "r575": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r576": { "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" }, "r577": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r578": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r579": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r580": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r581": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r582": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r583": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r584": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r585": { "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(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r586": { "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" }, "r587": { "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(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r588": { "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(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r589": { "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" }, "r590": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r591": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r592": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r593": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r594": { "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" }, "r595": { "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" }, "r596": { "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" }, "r597": { "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" }, "r598": { "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" }, "r599": { "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" }, "r600": { "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" }, "r601": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r602": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r603": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11" }, "r604": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9" }, "r605": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r606": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r607": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r608": { "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" }, "r609": { "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" }, "r610": { "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" }, "r611": { "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" }, "r612": { "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" }, "r613": { "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" }, "r614": { "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" }, "r615": { "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" }, "r616": { "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" }, "r617": { "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" }, "r618": { "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" }, "r619": { "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" }, "r620": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r621": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r622": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r623": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column E)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" } } } ZIP 52 0001558370-24-007052-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-24-007052-xbrl.zip M4$L#!!0 ( /*!IUA6K0=4Y0H )M@ 0 8VEX+3(P,C0P,S,Q+GAS M9.UQ??RW9!AO;PGQD-G7GE\2X/]2M7ZO5DFU]^F7E.NB9<$$]=EMI7-0KB##+ MLRF;WU9\.:M^K/SR^2\_??IKM?KM[FF ;,_R7<(DLCC!DMCHA-")")]3FL1MT6?M0 M:]:;[U'SIO'QYGT+C1XBM@[9(9]1T(WL-]][.B&H7<< MHOQ/,,3(T)U,W( )B;9>6A<>GT-#]4;MV\-@K*V+F&VRY,12[B=D5E/N1%+7 M->XYI+;EC&0YF>4*7=6 &C'ZHJI4B WW#(NIYHPHJAM:$;OEF>7/(<3J"D M>B*GYS:DA !AOMO,0J]9KY&5)$S0J4.JBHUP+"%=B&I3I8LP8#R?29X7+P$Q MT1XCJNJDD1D_[S(D W9-KV\LA;9;BA*PHL"N2A*-G1_LJE2)B1F%HD/5VH(TEU^ MB)K,4$K8;!.:[1T0DOF%KO8FXPU"ACZVMR-4IQB:F7^N@OQ#*Y]_0DC/#Y@Q M3^HH5K>BF\LE93,ON /W5*#<*!0G$ )(7?SZU,\WNU&_;M5K$J\\YKGK /XQ M-*+GBX[';!A#Q(8+X3G45E%QAQW5Q>,%(5)4$(5H.D0@,C0RU28SRJAV"K"O MUU$5;=3!=6?XV.T]CGM==34>#OK=]@1^W+4'[<=.#XV_]'J3\:?:KJJ=1GPP M:<@^ZVN8C03HUOVHLG8H'+(8!"WL6+YSN-S6K%RQ\&8$VX\#\=[*33LLP6-V+\_#OM.>_P%W0^&_RX3@0'F M+A66XPF?D[:E:QOQ1"Q"GS%42(]$JAG7]ATRG&62NT1BZ@2XGT63(1#>0R T M /QM._ CTH7X1MG/"(HM%3!A@\B;Y;.]"]K]>QDB14*DSY[!;X]3(@"RY*_L M4"@@883\,@UY3,G/Z%%#G;I5PGK,R!_AM1H9,#_#'>X3>T#QE#I@(1%%>,S9 MX$S:C>%R9<@0RT WPLQ&.-".G*WZ0UC+\#HDO$;<>Z9J4PY6?T&M-\$K(G)N M9P?143J,H?(A'2H;;6CF<42U/B250C.Q#(<"X1!NMD;_88CWF*1RW8=E*G>U M.R'H13B-!6/]6A6,D7S\4@WH0!F*:2MQ.\]W'_KXT/5 MA@8CSJWC%@;CR;#SSR_#0;?W-/X;ZOWKU_[D/V4(O$X(C# 'TH)("KZ?'@]) M=7N"X_))=HM\WRA:7_(YYC1/[0#D,/OL*" Z2C6';N3? $) ^2->B,] MI<=5ZNP_54K5DC".2PEH$4#O?$$9$6),YFI$I2?N(IQ& )MI "-52 2Z$"WG M[;.4WP4K;#-@!Q71)5SG29LCF"LMFD;P $D#J# &Z\V]:?0N2J-Q]3!/A@V4 M4^2)&76B]A]2"._E-^#:@NS:.B2[HG>!TA++4])L-I!F9B.*'](HFK8F2@S/ MFGO;MJWMQ$YL\&5O69VFS+AW5:30S<[05;1M-+X%4NYAG2EQ;Q]SY?-DQ\M9 M=!K#IIF>V(T30/(9VH8U;+P,G[SPV0F6!\R_0^] 'AX3R^>QAQFI><'$:H2V ME\HPLZC*T$)RO8DL.ICS-67SK]CQU:.JGI#457M7 M]YAR?7,XRY++'O:OT((Q4CZF(V6C"L5TJ0VST RDFPPVSR-+D#(E)$!RR%91 M9H5#8NV).*IG1YC+]81C)K"EC!('U!S'J#!&RW4Z6L(VD&X$Q5LIJXMS30]% MY@7SSHQY0A ;+24B1[\;5>BU)S-*![S15 )U^!M*YK>1S-#L>_.HA.2,;Q<= M\\Z0&;X3W@0J83VV,BY2VYIA*UJ=EAB=4E$6+1O-6!EJPZ6N#65,50E8NO)3 MA0*385J"==:( XH^LTCF8-K#;8*J4<^"2JE#6WTHJ; $K%BIGKW!;^ T[NZW MTKO[.?LXY<;^J?5[-G(F5B-T[]/0Y7]V4*)W=%&?#5LFCQ&ORS1>NP5^B=/9 M*WWSH"L@:<3TRC &][[47V)]8OF?C:V!TXCEQS26.;O,_Q? J3_JI(4G,D/Z MN_\;]37_;450=^FH3]OUO84^1<.BJVKT\?EOX.G%RG4B#DFE V*)I\+*(LAX MV-EP*1L,7]3K8-CMPM"Z2 7F5DI+ZO "4.(M"5<#L!9Y6$&U,[D.6&6XWMDB M>*3G.S'P]AR'8,MPO+L)P2/]3L;PVW/;P=,,MP=X2IPC/7:4[*LZ>]Q*9"QA M&L/<5M_2^T)Z;GM%1==S,67A^1JI/%Q$Q)"0P2O]N44B(4.JL!T9Q]\88R_%7R,PO/4Y M3 =%8,Z94\7:CLL$[8=W,FT(3SG31MQ6VD(0^>BQX-PO.90+PB<+S$9!JEZ/ M',RD^MAHJ;\]G$*9B:WP01+,-;\=*Q_,8/JDHANX1]F\+XFK<@EX[0,;E;[R M^1_<\Y<1(P66"L*ADML*E+S SJCCJ(HW^AWP0NO4LR>Z&=OGX7<9>=T0?UU0 MO[2]GI"5O',\Z_O65R-3X-#FT*D;&9&.\&N&'7$FQ[)>LV3VF,X9G5$+)S90 MO>!E=4CZ1!DMMIZ?IN6-87V$,WI%=5)WA!J.Z I;WBR SBU_JCOT=3KE<=!G MMJ],(N*!N%/"M^YFT7;#W=8%SI^*ZU?L+&B?6;OF[]Y_@Z9W/*8>#G4\#O.# MYMUU(I_C3;KC+K_UF22@UJQ0L1J8WZ%3XL&$-,YOM6S(U2O+H;]"5!PR9 MAR@ /*:VC'9=R:._05?"?=%@K06EAP?YELT[GHC7* :>>$)VP5N)^?K<,_8T M.-H/C.'$IC++T6#=((U^[MT1SIBX#Q1[8S-UX6WPPQQ^ZW.Q F0XZ^A@N<>6 MLGK]@%?4]=T!8>K\Y@Z&U.J:DGDWCBO',()+OCV3"%IEYH:+NPN*=_ MJ ,\XM-/ =:W ETX6/.6#CP!Z745C"[1=IQPZV+B;:J)X[JB6\Y;TFNT4(F:$J"2G([NRW*<66@VZ, MQP(%NUM1-LO3W]M%NM=DO^\MML[!A3S#Q"W:M*XZA> M,;!K4HNX+U>5P*LBSR2D\MNO?__;EW]4JW]>#^X,BYK!&+N^83*,?&P9K\0? M&4]T,D&N<8\9(XYC7#-BO6##:-2/3H^:1R=&M1JV<8T\J$-=0S36/&JL[G3" M]JA[:9S4SFK->O/8:%XVSB^/6\;C_:K+^O.3_>X8.#8#I>I50F'R&\K=+(LSN^2 ME/(1+(OR:^V',FA<7%S4Q-T*2,\POC#JX &V#7'MTI]/\%7%(^.)P]L2UT8, MVU<5D\RJG(!Z:P'DGT,?6.0*TJ&NA5U@&_[PJ$,LSNXU#+C_^?$-NH7K7K-1S/JTO&\QLO7Z-:AK]O1%TE/NQ/$#?%,AWH!PVW3 MI $,9(!-3*;HV<$/V.=6R0HYO"'!%>LTMWA,Y)B!([R7.[@7BH2/99NS;H0+//,QU+!65XG/ M^P:GJUXWJL:J7?B[TW^XZ3X,NS?\KV'_KG?3?H(?U^V[]D.G:PR_=;M/PQPR M$!( &3C4C W)X>X<97']X,UYT)YHRT;>LV@0G. 7A"9<*JT:=GQO>87K4DOH M47CA1]OS(N =](P=X43';M;*&%,G8 PDG#JTL,R/T];Y2?WT_+S5;)Z='#=: MK=/(H"/*U&;Q\2-F+MN'/]?T*\Y06*+F!>.Q:*U*0 F6]6U&Q^N2"SNC>09. MF849+&PJ1N#!>.B$]X7@,7K%Y&7DBSL31L"L^_.K2G/G]'"'@[MB\$_WOP', MK YW1-I^!S$VAT78'\@)L(0VI;JZTIE&VCK1Q:'JK@")CE7&XYI2Y3#HSHTP M9+FI*\M+YW$.."2L1HL&6O?)7FJ M*5O3AW4%W)C85%8+.]:NKY1:K\1Q)!JSO/V7%J2+8B^,R'N1I5F)]V7_4H < MT2CG8)U(*33=Z;H.B,,SG_ASN:I]EE>(XS\%_*U#X#PG8-TG9?[JVF>!R8?5&QNUUT#[]]SFYCNU*.NHYY5]J[_:][G(S;([C%B*T2O?)-E7WR0Z?X)_[ M[L/3T.C?&KV'3O^^:[0?>*G[QT'W&U3I_=$-;U1TW4:;(*B,AS.UQHY-DC@J M8*GPDO'&RNAG!A0(B#[\V6@TC+:\C?@6L,/#ZQ,W@)FQ/\%,R,>[QC9E.+(# MOSOS&0(HQ$5LW@/IB4@$U 3!PM!>>JZ/&?;D&_RVUJ-^*I2M$^MZM&L!Z;XZ M#7%S%!GV)*&D?BJQ:WH3 HF*8M)=,40*SB.CMG1M$RFAGR*HTK!.8!8LW8D; MX"EV [S4?X9,_SOQ1QUP?4$0K#LSG8 G5O+L>/C/DGL\!5J*2>RTWFBURDY& MS:(S:1F[&=BZ*TJ'>N!O\0U-(L:.V928V!O"RDSJ W&S_P'$VJO"TH4!5#=D2BSL MAN^QWV(CTO5$9DW]E*!\)["HV#1\K;P24O@$7,,#(O<)):7UTY'B:T,Y?"LWL6V"R965)E!SC67=?U$Y_E4:S,JI] (0J+(=2- MTSW2C5@/Z:=<'N4V(B7],&)DQ\[)M$< Q,;9$H@U_@WV/?/X&>RZV M(CD.%N?Z]>WAB#+?QVP<.8M;_LJD:(N?09\V+!T-$XX&,'&+AZ9O/U!P^]YB M#1ST (L-@(^(I4QP>9KX!$KS87'HOCU[:65O*6M;4_X]CLBZ(6.:2JSS"90B M/WZE^+X.:K":;).^)J7JM235C8NE!6)I'*I:Y)>#T@N!DC2B;R_3<+WL SO2 M*^FG ^4OB0I(+'-*J>XJ=7%#GZ>/,"W)93RN']<;1M5XZQ!^+!LUV*K57PP7 M\SS'9<\&M>7%_K48P+^US7+<\+=G-?AVKMA:E!=!M))^)D2%I/1OYV;BTSW] M*_HIMQL://MVX*S#S* ]3QL'H 4?AEMTE\3.IH3(*TZQ8R3Z*Y?I/UDW_9'6 M?C$>A,E?NZ2]><_YT>GR/HH]0*_WX,0P@AQ/[*D EPBS:TQS3E %@WD[7X6E)8>HE,DU/9^FK,PFBTX,Y%H& M6G1C.&_]Y"FJ_72^TX]VE/U)DEQ DMQ8+>Q$ 2!E-W/Z [GCATCG'X M1D-993/K'1SIQ1#K[B ($2 '5J/B3(?5IZ CYSQD/O**#1R<1GP0NNYO"$-9 M]%R8W'G$0D$/UDL?)NF*.%5.:=[ 5JQP2,O#MIXHA1HO_&RF=URE%SX8J@K M5#F_>-,[Z,)7R(L#=\)QOE^-2DZ6,,'.73'D?@@J/P$NWDLF% M#X;, C S-[R4M $R[QHNO=+!,5P ;L&-*#L+HHB$$ _: XD6T#;%+7%"E=A+J2X;7]6VSQ,P_Y M&4L!#RB^U9>GSVVT#_TL2@;QB:?";4T2VIYLOP9:'-,%YO<..G4B!B:?$LE: M.40UR855PVQM":S%E+HZQ"ZG KRO?8C$*V%4":O(/8LOM87,P[GSU_\#4$L# M!!0 ( /*!IUAJI1O'D1D )5F 0 4 8VEX+3(P,C0P,S,Q7V1E9BYX M;6SM76UOXSB2_K[ _0=M[L/M NMVTIF>F6YTS\)YZPTNB7-)YN4^#1B)MKDM MDQY*2N+[]4=*EJP7DJ)D6:H, @RF8[M(5M531;**5.GS/U^6OO.$>4 8_7)P M].[PP,'491ZA\R\'43@;_7CPSY_^XR^?_SH:_79R=^5XS(V6F(:.RS$*L><\ MDW#A/+#5"E'G&G-.?-\YX<2;8\\_'?WXZ;MCY_8Z);L6C,U(#9U/Z+=/\G^/ M8C1'R$>#3R\!^7*P",/5I_'X^?GYW?/Q.\;GHOGAT?BWZZM[=X&7:$1H$"+J MX@-'T'\*XB^OF(O"6#FYYB^/W$\[.!YG8VDIY*=12C:27XV.WH^.C]Z]!-[! MAD7YL\4@*;G\E1CH<[(D])7^-SHX^OCQXSC^-=^U%V:T^7X_C),?#W[ZB^-\ MYLS'=WCFQ*T_A>L5_G(0D.7*EZ/&WRTXGGTY<,G+2")U>)R(_)_WH4!;FM$I MHQZFPBC$'P'SB2>MX 3YDO/[!<9A<.#(47Z^NRSP[K+EZD7^7UK T>''X\-Q MB%X89\CFBY/]BIYM0 55 !'.W' >"S>1;SR/R7^1?TAGCR_C+,QPB MXK=44F>C#Z"ODR@@% ?!/9Y+('-,R5G-BWP\G>EI.E);-TP,H+UKQ+^)T1]] M?(_=B MD<9"P4SOSE%1@[&D R2:NRR+AV'?8Q>1)\G6#PRT:RI\[LH9=AAY M4Y?T2=@CXP(PP4CQ4T<:L1EB0!NY16L)@YCPQ#<\PMX508_$CVW8AJ9CN^F* MG0$T>D&HV%D0N3@$(8^WRL$IXGPM-M2_(#^2#)\'(5G*U?<"$1Y_.9VIVG6D MU7VP-(!F[[ O&;Q%/%P_<$0#Y,JU(]CG;J#5F$UU$XN?*JC1DB-V;]1#W!, MGD9!R):3%Q*Y5;]YX1 W$WEV/Q9%@4'2_0.1YRMY#]Q M,#$66ZO9>$,_?B9B^SFBPCS9,^;UW*NT['.>]2<''&T^"#&/?AP='8W>)X*6 MQ[*6)!N)T'#LD64V&O+]=BSG0BL9'GZ(^8M[VYTI\;?8]PL#'7D):!VRJ.B[ M4X9C6]L/OYNN.V W[FFTQ,O'MA:KYK78[^Z,+@1/W(T>\2A30X?L*GO/,2T, MA-!XUKP2'POCXI<0B^#42T>6W'8_ Y)0]OKQX\?#0V?D;/L0'])N'-&/DW3D MR)ZDH,Q0\!@K, I&CDB:L6HS[ESC/QEEA BB) M6B74RJ@F+0BWM<\)+XHI_"?M=N-*.TRZ,\Z6S=!BC23>BO')8A#G@3GFSJ- M=,I6R6[GP&%JR\KVC'V)>[!-A]-V=/8P^3Q%;$'UL3$1]^O\)S MY)]3(=Y:X0X*"H5*E#1[YSP93FG/Y9^5/)<)AK-:LY:9E3R962H[DT:HZF3O MTW3 P]PD)3YM,10??I\^4\R#!5DI;*_R>T5J)47?G"L-4$%AYAZ"&9H4SNQD MRMFAHC=IA9I>AC;$[>F6X.!2S.>JS8&>4 FNGG0PH;3&JB.U% R*^=:BPQJ* M6S)H7?^I99OZ!;DE+IVN66V)56WJM\2Z5D-(G[!@W H7:/32E:D ;7UK8&*V MLIJVO.HQ\EO>2M^0W" [MCA97V,DLSJQ4/+TWN (-:VTQF+1;@ =W#(>6VB8 ML9?]D3NE+F0I2_IHT(-6-PW[&-[-[(V =:,IA1O6\I!WQ(9C0W+3*T;G(>;+ M,_P8/HAQ#+ZI(M4:G8X8@(C&M4E-;"TFI-6J!B_66&B%FZC'R/N&OF](;J [ M5CY9YW\Q.(=]!UI;:M;%P$HR.E&5T$IH2,[3"D_62 4*=VHR:M[)U*-!=H8>XK+%:06Q_14%Y!_",BJSCL6=>$!A8M]>&I M75M(^JB-(BQ:-M?'KO%%<4YO!AEKS%_O<[R50(6HW4Z0WN?\+ -X[V**.&&: M^5])IYQ9M91]2;09]F<:K+ ;/R^H/2W1TJHE,U'OLH+4*9=9C-_KVJ)A.%UG MC(P.9^)?L=QAK1;$17Z=F9=IS::NHNY+NB0OG^= ;^XZ6K5T)NI.S-V@9&;! MPS F7V4Z,WL3L[V;_8,48SJ[I!YY(EZD-7DEG=(@M)1#2?0K"1=Q-D*F+19D M]< ,=XE:]&"GA?H^=G&6.GA8:ZYZ=1^-&*GKM&!_V.A%;.-NT-(8IN1(]/OO M$M& HIACC )1K3@=1@YJ+3+3F/U' P4F"]O^"G,03QZ:'S6T.5L F441'GA#Q>H^Y(\*TVZS$S#LV%3C!U%TO$30^Y MU35KXDR5AB#4D#+5S*U*S1JHH=IP#PZFP\CD90K.(+A:212CORE$Z#T9<(W^ MS7CR9"OFNBOQ52)E *PFZTD0N9F>S@HL:*-]+:U2+"/U+A&\4:W,8O!> W45 MMVF4;N1RV O U6(EIHN_:FK]A5\]_0"RQCOAF02'>O>8/Q&7T+FZ7HM_KWBUG7N2&4YYPK[O= MHB)3+A(ZPG[%V<*!]4^":6E-@JFI=UG]:E3++(;O=?U3\YNN@$8^!WC8,:(A MYBN9']%DHW5DFNC*[L)-YAQOJI86.=):NW5;]6VP)JUW\88:*%@+ M=GKU#C7_V?VR)GR7O.7SN*3/*_$Q_D%9.AL5=JR%M&>_VPK^R"M;6TE7;3K7:"S><]5*L.&&)\9E/%>&>T"C6LS-# MH;>F8K:PROR@:L\L2*Q4."X;4#X5LY"FWG*9.Q)<53,2(:7<:+C OB*7!PJIEGQ!]V!$B*X'@(&>#T8!H?+_KK+4GO5?>LB"^ M2 :[8=1-AHN!?U@@6GA6,'M04+-7WJ4C,&N^"I)=!(/C+S'+VS5P,@N%<_L^ M>Y;9Y@O&3SGV2'C%@F KIL:MVG4UX!Y\=QO/NV8[\>%8PE?&O&>R?4-("=WM MSP-Z9;>(;46"@T)N=;5SN"KM@+OP/7A453XX8)5YRV3=?B5WN$&8U*RDGO8I M>^-.I9L!!HP+NC6++I4"QY:T3(K0J"8-:=<43'!NCC9L1(&#VA6BG@:5Y"< M*<8FEE4HA!@+ $?7)Q'QY8N_I4M?+E>$8K[."V?"S-0 P"36%C"36'#0DG>.0A[%SS%>TKCF&PZ,+F9L 2 9 MV18OHUQP -.*9\*LKA& !&5;V.I$@X/UI6/8Y53 M;[*4Q;23U[TWCATZZQY @K2M-72G!#AV8])%BPBA7WQ_Z,G;@1TH)9&/,I%U_)6S!?2!DDK\&KB9[MFP/8?-K=KK(7"22*=I>O3 T M1-U-K5*#'^ +6ND-BENTC@\\Q%+JNCS"7I7]FMLD5CW PK3!#1,KZ># &J=3 MK2'44@-(K32#2RL)'&BL41D:$,WJU0R05X/%]MS!?LE2M8'E,KNL6BKIX$!W MAF=8,.==4IL5B@XJ)7G9[OC<4T#6*YFAY5) M'C@P-4$( #CU*Y4=..!Q:1P7 X^$=UFI7D=$?,LWDW/,KNEQ%R4E@.6H&2I* M*># D3S,68M%E0S 6M,,B*H(<%"8>!Y)1KY%1&Q;3M&*A,C/L:S+-5@T!#"M M-4/*1B@XV-WA4"@">^>(T_CF0OYP9D9<1 _R:O/D"1%?9KLN&+]'^>??)MZ_H^1*GH@KIC,1:M2?6W8W M$H #[8:>O0\MP#&GJC*L=Z$@SJ-WW6]"PJ)N)]WRW S$E-Q1/DLC(!P,Y8I/ ML@O/IXR&8DG!U!6\&_:IVA8 D+,[Z31*40O/Y_%0Y;RR7],B,DJ/JZGO=6Q; MW^O^0?QS?7[S<.],+\2GZ>E__VMZ=79^=_]?SOG__'SY\+\';S6_=F8QP4XN MU(S&!FE1]TO=YC76_E)+ J?B5(D_8PDP#2VP*F F>\M#I)$&#C2Y<-6B%EB! M#D"2RVA8FK0*B&)@FN2!$8*:-@!27=9PU(@"QSW*B0(C0#IB *DM:V1T,L"! MQ"(Z-[N1?7L 6W%[E[(7"T89Q-=8IK6N[MY;F58H&[2W,JU#[\W:EVF%@\%; MS=974[/UU62UZ]:0&M @9T)O<+@]'M&HOT0#8&]LI_D2WW"4?B;?BHVI%^1B M7%FI5'>54DL.8+=K!X5>!#BHM#LXU)_,[M ?B/-7&UQWD''0XX8S$LB5+^)X MRN>(;IYGG5#O! 5$;(%N.0Z$[,FW6>;CDLX87VX>B15!=U;\RWCR\-WAT>&1 M,W*V8XH/^6$=1#TG'MAA,R<_M"#>$ +OOYNQ)6!5)I@/QQW86$!]^O\)S MY)^+4<.U(KQ54@Q^]M %,-*CE=+M9UM?#T3"@S*@K?X\;!AKL)M4K45V.].I MTD=OKBZI%P4A%Q@K0U =T8#AIP[QM&RHBMW]:O$7Y"^(6,FT&BP3#!B-U&FO MS.I^-2?O%'!$3QE?L>2=R5H=ZDD'C##JM*EG>L\ID)J7[4V?J8@O%V2E>6E@ MZ??!\[!=+5L*V8 H7VW885BV 5,:ST5]?:S@LEHXK=+^99!BM)MMWXB-E(/ MN*893&$[E1A8M]'Q (N-A5AM5^L!)GL+:?I=/5O,B+HT]^[=]9X,[TH#*7;M MUY=7GEB_)C1F/YY<IBCD^6=\BT[N%FO0P<(7SKDRFE>Q LE@G M42!$"H+[Q ISF:)[=X&]R,?3F9ZF43)+\%).9J4].QLG<$@N4S5R4A9D=BLC MW7#19U)K]P.K3)<;[N_P2E;#H_.<%"?KS8_&.[AM>MK_YG5[YUH,'SN(]AWD M:L+!TV$=0)7N>W4R#AM?5+G2!AIZTN$C#K.EZ2& =^EC*FP32N!8I(RZPWCX!I%6KCA#"G3.36G5\@YLP5-.B+I'5K.EP M-S@;2%:86-HL&:\\/W5& C2?S:V@EK9X%R3 MV[!V(>1.#D/=\%<2+DZC(&1+S,]?7#^2;]J1E<_%?Y[^@ERKG@ L;9;F6WQ& MJX6H<##/(K[<[3ZSLQI;0+A!W-)1C7*!!LP>*!!.9F%R-;A PB,]2YA0+[T* MG3"ZO12KP<>J)81[X"T=RDH^2$"FYI7.Y81&0MR-_3$:G& A.,XJ!./@_$58 MK5 >H8BO8SW(DJ=R%6"^'VLJT8#6 /8X(H2+YJT-9X]ZZ>=8KW2()\*W;SB4 M._RM[2=.MM>TY.V .Q1FTH7I@,U WV_$\2%,"[J$GF9 M1[X/+WX[KSZQJ:4&)[7B##IG/W!$@QGF<5TRS)^(*Z>)F8+9X$&P M$:A_,B8YNQT"1HZTQI+SN'-W<>FO$JJH .R$]V&^V1U$EA(D/.QK8Q@+1 )PZDD@W( MQOV'0W%8NFJI)7L]URQ3 M$6Y8*,R&B7V0V -M=C=TOE6JW57+AKV]78OI_C)F*T#?KL:\78UYNQKS=C7F MSWTUIC UBEDQGAVW,V)=#&S??+!PN*F$ZFLR#9>05WY5IKJ!_,K%_M?N1=&Z M1@"<=1=;J!,/3I0W\7WV+ Q3ED Z8]%C.(O\*OWUO\U"A*_U"-TG.]_<.YB:/SRE?0 M(_&4X?4&.%.$LK_+G3"EG=)+L:40#*E-(V#8E(S.VKOJV@VX MC'7E8'4BPL'Q?+GRV1KC.QR_][G*M 9'BW8P/,_.2O/X68@&![\S/,."*6]3 MT,<,FHX8P(Z]%5(Z>># LQ'KD@81E[?(:M,QR4Y MXA=(/BP0S97IL #-L@, 9Q;M<;24<;_/EDZ\)VE(28V53;4R912GI@-P5M$( M (,H>]9SPF4ZW@-CHL5<\_"NB;A/C7_?E<8-\L"9N6(OU,JFF:WJ&O4)UP\= MSE!UH!Q;&QIJGD4&TDY[-G< M9MY,ZD-B;[*4RU-35!OW B"9UL*6"R=_344>-B^Z60O%HMS60=%-WM#*58:K+M3G;]Y13%?-;6?=N]V\&>">A*(YJEV;"DO[YCY5,4+,0. M7OYS_D=$GI O-\0*6]=._M;M M'M2;I$-SG$T- 1P"[!-DD^A \C.;D]U;Q,-U7,T6N;%\$\\C"3MM7T;\L9J MV0SFQ*,Y^>'D5?ILQ%?ZXF&=*D_6A5^LZN$UZJO?">&*T7F(^?(,/X:RJ+$A MY:(F!9-GV0FZO+^KY81SB;;,G_'ZO8X81D+%9'TF2."]G/AG&LA+[=B3+!JC M9R4E@"R(V:SR:"@E@ .%G?L;)KHF'?0__>F>#.AJ^FLB/4S0C1.BBA#&9-C< M;G6P]?.8DM@$+\@E=;7/T90) $QR>C-)KTB4F09CU<9%144((,5B5K>)^>[5 M'O PIW+Q::ONY/7OD7PIU4HR<8.6JHVPGJS_54#WF-*NJX!>QMX1N<.KB+L+ M$0-.YAPG\7J),^5,W[#ML)-_G>FEF#002 /4 +-N*Q3!3\0Y;ZH[-ZEO-MBY MB*U$ZMK C6:781^V4^Y=I)C3V:F(84AX@5QYW6I]C5[(,EI>82I?$'R*5N+[ M<*W8US1I#&P1KD.ZJ7AP,MNEDJGQI8S[%Q+8Y@*., M-KYK+^!^[U^7^+CEA+IDA?RS"$_I&5XBZIW/9E@(](3/JGBUZP+ R41C+VPL M)!Q?C.\L;WF?S,1JGZ\WGZ&W<%X&F(-C[:3E@XN/^)7KZM M>>*B#:K=O'B[>H#X>9QH"TR,#(T,#,S,5]L86(N>&UL[7W[;^0XDN;O ^S_P*O#8;H! MNZJK>F9WNS'3B_2K.C$NI\=VS^,:AP:=8MK:5DHYDM+EG+_^2.I%*4F*HAX, MU0ZPL^W*)"/BB^07? ?_\%^OVP"]D#CQH_"/;]Z__>8-(N$Z\OSPZ8]O]NGF M]#_?_-WOT>GI#US$&4YHE2A$7-:'M^^++\YS:5'X/?K] MN_]X]^&;#[]#'[Y__Y_?_^Y;=/NI*/:)&K;Q6\H%?OCK]^S_/5)MB.(+D^]? M$_^/;Y[3=/?]NW>?/W]^^_G;MU'\1*M_\_[=WSY=WZ^?R1:?^F&2XG!-WB!: M_ON$?W@=K7'*G2-4?WV,@T+ M^]*72.;!#_ MZ/OTL"-_?)/XVUW M/+/GF.RD1L9Q/$[5O]=2)[83\E0?L=0OO]WAO)_YQ]? MXT<2O$&LY$]W2R7>[VJR\DH\ A?3II', MC2G]Q$1'ZYJ\@+62*#YV4U+\-@E9OWV*7MYYQ&>M]EOVQRG[@WN'_N.7\XCR MIX4D;OX?W\B^[^8-9C23M8CKEN-X7>BB?[;X(2_Q;AU1ENS2TR#_ M87CU31QMY99FZB+)E[\$C]U_V )*#4=,DF@?KTFG7U0T7^7ITD1:@@5%$I[^ M=-_!YA^X-/1S(>___2'3.V)+NLB#]#+<1/&6AZ\'_%BQ6("J*0JW?;7A*YJ: MJAS,5M=JK6T#+ 0C03+ZF( EV3+8UBL(FC,K9WPRL%HTSR&'RB MP^3'J)U1KC".2+1;$ON1=QEZ%W2ZJX'>+ >?9%)D38K5"L$FF-S4WDTO$XNH M7,0$.^NMG, ;'*S\@-_OM(XDEN"5%X-)+A:>@5?-[F'126FG;Q#*!B$E$ MF>?+8D'*8W>"L;]2F*0:>-'%>=.O4RD.FCL+1G1_LPC0_GD:=F5ULMZ&0S0EWGGK8*9"J: M&=ZS]=:4(*X%Y6H0T^.(JM-C/\G!1[$._VAT?L"O2X\.9_V-GQW :!E9JLM# MIW +TCIY%84AT[;-Y)Z-EHI'=?ENQZ9 X(Y&S(7G4<\E^7^N_9"\5_I"7A8Z M(34(ZV24%(1,1)VY/5ME+K/\+Q?NB(#CPSRIX42K<+)>\1C;APY^^#!+\GTP M)=^'>9'OPYCD^P"&?$/#;)#OX7,T,?G.Z9^K^"'Z'+9YH59R)L0[1B>E755L M!J23&#L0Y9ADM(H1D^V6<:-A/,E 1E*08W.-3T%7\6T@1O-[ MF/106FG;K+A Q"6Z6M:?'M,(=+DGZWU,*?K^P^.#GTJO DJ*P*6+"D]!E^;W M,.FBM-*V:0D"$9]GE^);B<.EE M@K.^O"8O"Y-N1A;W7'C*I:-2/,KD.UIC P%VQ+/$U 5XG?HOY *G.#='Z0QE M<>B$U.-L'AN6E85,R!:+>Q^6+:6S2XVX:+0.;D8#@COJY;+X'*?D*8H/2A\T M2T$GH!35\2VSL@ADNLD-'>!>5HP*J0ZOFTV+;#0:W6]Q$)SM$S\DB7J$V2P% MG4925'4:U8I II'V6@TNMR2^(F.2S_&T>?T^3S:[G"H M[I54I:'32HNR3B]I4<@TTQO7B'?$. -3Q^K-G$@1M_&L4@DX[ M&:9&9R:4@$PRJ9U] SZ3Z9A14^,:;^4QVF[9?=)H_>O],Z;>6NU3E@.;[2FH MUW[TE:#3RP1S8RU24P,R_8SL[KM4QW4@K@1E6I"@QMEJR-383]K!C\=B$J8Q M#I:A1U[_1-3]X'$Y\%R5(VO0LUX(-",5IO9MB)E8Q.4B*MC5KH ;>&.\XR]HY'.,->W4Z C4&]!57L<6(!E"RS- M[^%23(JDH%7M2YA4DIMHVZI*:8B)F[R7FA!,9U)LR3TR>,=QDS2) F MQ2<51?(/?N%7G)D%J\V5'^)P[=,@$&5)C14OI'6L"I-8-O@9Y[K4@T='*^NM MYSBKF_O5]?)B\7!Y@Z!-66@FK??H439YB1FT MR&$>8BO%*5Y?&[>C< 1J6AJ=!SA)5AN^)+]X]9M3&I/R,R&7"JF49\W",Z"< MTN3^#96+1JM-OFOU,Q/OF(N#H\TP1CE&%YP4(5U$6^PW\Z5I"\)FH1J;2+_C M4G!YI[&U7Q.L:):)=4.TT> Y91C??^9V+#X1218,;4'@#%-BJS'LJ!1@AJEM MM6Z"V0&$K"4NT,^96$<,&P%>CDL\9^%T='FM>+A86Q VS]38I /):[C/%!O8 M.L $[*@2;8'),(KGJ)> 22V&G]3(S%T=G M7[E -WP:&M3]O:.5Q Q(?H3#B$+'9>? ) 7"8T(U"D+GE3BG!IV\U\ZR9.Q2.J!O$_!$5HD:)"%>*ZW$S[IO,"IEY8LS](I<@% MY3_A^%>2LKV./&V03Q)YBA"S&K#I;8!6)+6F.%PJFQAMVW0KV:@2?C)FMI!6 MSDX$-RF%.QD/K]?LV<+DCJP)C1;4H!N2ZFG:4@4V3TWPU@;)FO)PF6IDM?60 M.1>.*NF(BG?*U6D QZ7T$Q22<9!&*0Z<(7U@VA$VPSM)?%J&+Q18%!\H2H5' M&D5@QQ\9'C'>B-_#C2]2*VT;72F,11$GT6,4.'S\XBI*#(HHBPJ^'M

V M)COL>Y>O.Q(FA$ZH5NDSB6NK)@J'F-6$'3LZH!=#BD$UN)&FB_&V[3O7@7(E M?!V!JT'UU4$GL6E*!Y!,2<+7$"*FQ_D2O$X-^D%EZ0YM:)IT'@8=G'-[&T8[$Z>&6 MVIRRI<7=5KVQU4L03(KU]PWCH;T4MV3U\FMZ_(7[P7[L89B-PE)OUI>@E&I& MNUPUVC'=?)&:*W\[1@"0!3/G?JGTYJ,,IAD5JA'7C4KEKK8D';HI\XK#W4IN M0+7 LMA0+RV"(/J,:1RZBN+SF'A^>ATE2>4<10]C*0IFL!W"/^*PQT8.W-%1 M+S3]N'(G+-1AIA>5BM$FBE&F&C'=)T+\<3*A<>*FFR@EPG(F8NV9>FKC!_X M65ML8LS'*/(^^X'*2\+7L&-!$X?([^([N)P]LM"V@16"G%!J;!33=;K9A,RL M5Y64A4T5+<*C?K%9$"Z)].;VZ]GR10((?=9("(5IDO62P4!K;I*A?O41VU)( MTBT_MQ1ZM2D _7WUX(:6 M3M;;[Z>IR<^/2CF^9C"M$]AF8KG,ZV0][YJ:H'!%_A5LJHKVBU1DG\.E6LTZ MVU;$A#CAR%C63]+@S_9^P%+KLWY\N=W%T0N_N9I\C*.C]\Q,Z\"FB!%BD3O: M"G!)96:V;7LMI?,^2Y2/N (G3)P(LIL[,NMG/R3Q0>R$=2355H#-T':L]0LR MJM)PN6E@L_U]D5QT8S#ICI4C@E5-E"?*%A32 ?!^S4Y4+-E.]Q-UG[;CU-> M34H#M/5$0LKB<&EI8K1]:J%*-EKR4QQG? >'IK$-OL8WBU/\G_[SSGM-PXF&'A:']V+@ .XALN*%F<(0][ID6AB#1 M$E2:P@.5:,ST^TP&-W%A>/.:#<.PX%)/, ?4@$5]M;6E"NRH9(+7=&,);O0P MLGJLC218@Y0A$+/=,4 #%+X[K=U1!T_#.H;CHR1PJ=6PK]\1#H>'+H9*R^#L MJ,2UCQ_]@.>HH7SG"8:?H\"C0P'&_?30K6%=N'3LC,!Z MY%8IXEV>J IENER?H)C.%\O%V?)Z^;"\O$>+FPMT_[ Z_]./J^N+R[O[WZ++ M/_^T?/B[XY!@EDQ56V$VM#=(JZHN/0MJ#YU\5"0SD"RK(Z(M$ :5"BAWOB7>,73V/[R !-H$MO"'+ 6=0'2[%;4#T3IB6*\N6K3)U M2!(0G*:,F]0AN]PA;&:+[KB4(=IN>=BR8RW =;0E*\2NI")I&;F]+&Q-RAEPTH^&<&#A" MJYQJU-#668[6)ZZ/9PZ.B59=##.?VDOKS(9^:L0*)AY7F 4I-68/P4_A6B2< MF?X(F 6UGD_X%<1N7)[N;T6;.H:HA;)VU(%+GU-#;=MS(5\ ME(__J(;:5-U5;N;): MI[PD;$9JT#4>VF@6@\M!G;'VQY6+R107ZO"]S7'1)4RHF\O)VVT4MG),4@PV MP52XZG>/ZV7@4DMIJ?VU6R;0.:F&QQ7@)$$+M,[P.:/5PO-\=BL(![?8]Y;A M.=[Y=/PKX%5XQ*@B;.J98Z\=B6JM!9>>'6RW7J(I52"F@V4&R+4@DG6^/*'QZC%%E9X35-IPNHGB4V8%_:S47CPP0PUPG5\ CB.%\)^E MM5Z+5J& I5TY1?LP)CCP_\D..;-/Z#!PB^-?:4!E1RR3TD(8"^S&JYG@XYD: MFWXA'6XTT=@ZX,+Y&/S>D=B/O,O0Z[9BWC_-)P[8^U+C0;I/<9Q^.:!:]QU' M@)-M.B:2/0V(E][;]V-5U6!'2U/<72ZWPXVDQI:/>)G=];F!<8!G; X:AY2@ ML)LM=_GE6R?G49C2N2P)U]1.S>JWN@9L3AN@;6ZU*(K#9;*)T7TV8'SA=9^: M=&=[,5.@99Q=B]+15_PMS?=?NV!M-K^C0ZV4:)XY;R\-FZTM*$6F*HK"96F; MP=9M=G5SO[I>7BP>+EF2%/J?3YK3Y<\>PK]X_;N\L?+F_OE M7R[S+]QL2;R0<$^NZ,_.J,L\\%<_?3[?T^YQ2^++UW6P9X\2L/Q1]/\\]?JD MG238[;^'=^J[&)W%P.5-'S#V2_U<)V)*4:$5,;6HT(M*Q:C0[&QET(6+6+K" M! ?C# )>2/P8P<.5AAO;#&RV'\HF*5IM$!>>S;]S\8C)=S1T'Q=NM'%'3)YA_C:.-LI# M%?42L*DG05-[WK[Z&BZY9$;:-J_L_8!,F)-%J^'!;''\Y#M)!WY/ BKNZ2,) M28P#EG7)V_JAS^9#J?]"+E]W)$Q4)WR-*\,F6#3)6*K:4*Y*C=78R;UP@EZRMW \XW5W4"D;ICFYO>.,"/"I^KX@L)?\I*P M.:Y!5[OD?5P,+GMUQEK?;BYD%AD8KEV](#8&NOS-]Q)CEFW!R2!BW!]/"FRB MQ7'ZRY*$/50Z0653=Q*;)H7LDLM%:"J6]OQP3WV>.S\*DS.RB6)29L4AR>4K'>' M.#XL4[+E^0#8HF#$1S\%*NW&S%@:H<>.T;U]O&DWBCK(L6I\T#U3GC+CJLV. MS#Q4V8[91EQ,LEHURTHR'0.#!OX^C%3]BCDI2/.CI. M&;F&AYG-1'>F8">)/3DB,3H4BL -Z;(S>QS7,#UZL[PB!RN MY4P$9KH$H)+K;.JK;#0XMAR!["L3=I 9Q&-'F49M!<(-8L/ LEX;-;YE^A'[ M(?J*4?GKXIJI>/&4#< O79VQ!>/,GQIWZ7%,9W/A$_*H2OJ? \'Q"3NCZNAN6=,_ M+:%,7P-V=#) V[A;IBH.-X:8&-WCMI70G>>SPX+\;$82;1C=::1(T]A_W*?% M@URWV%G2Z>G\X6XZ5N10NB7Q_3-U]1E._+7"'ZJRL)FK12AR5EH0+EOUYMJV MRS+9%Q6+N-P3Q"4[Z8C'P5@M@* =1?G(A**$R8? P L_V*=$=<5#77I>+&R@ MU/$P+SH?)C8-'I*+N6P0;!P*9X./7B;6'2/_2ORG9VK!XH7$^(G<[+>/)%YM M..9DM4^3E$Y.J"-T?657&;#9:^41D=.=!,!ENAT,6UX4VE"N#F7ZV% YTX@$ ME2Z[:4=NP;E;DLP94:4(G6:].J#HD0?+(Y]T?=4QHK8Z,VGR M.L32IBZK,(,FKC7;/M=K+KUX(:V2CWYF&EP]E#8FZ".H3I:TZL@NHBWV0]6B M@J(L;(9J$=86LV0%X3)2;^Y0C1+]G EV0\!I,#I^..T382-G]<;643G8?%,B M4[R=EA6"RS.UJ7W269:OI_V<"77#K]&P07LY30:=GRWVVN?\;+YMYI2/8Z,$_HB9 MOA_M4!\V2SM[HN,S8M"YW!V"=0^T.E\J#A(Z[GBG"U#;G'0 ME(5*ME+1ON"HJPH[Q'3!KUCT5M:#&S@Z63_(TG@UPBA/5?/A!5^A<[U>/J(/ M:J,-?L[:V?EJX60+,^LJB#XGYD>99%5@4]L$K^+@TE%YN%0VLGJ$8TKGB_L? MT=7UZJ_WCG(:<8ZR1$L>\#]2W<2A#L=F_OFT8* MI8Y2X'*D!Y8^EVNR_BU7BLX.B*EENU%50N=*L^OD(PY\Q/VS80$+L18L)/#& MI3(GN46R1T TZ=)J!6!'@V,L(LNK;^&R5V)CCRR$5)2[]&@#0G&;3NR"T+GK MVN=)7NG? 6%_L"#>G"9V,EZZ[5H00DJ MM62/RPAZG/!W>@?PQV34L"&SPFJL#K.A1^MN:!*VU_\H"T>^^^?;;]SP8T0]^8:GB MZ9RAR!&?(6G U96#&7!:D;$0HRSD-JAXT7K/%I]D [YVDZU/66RC?1^ M6[T5*7DT&N-1S([[WN.!=988DV*)";7C@F3_%=8N\X/V+5L!G03 )FQW7S3> M9C&L#9?2%AALFWVA"A6ZZDO\Y=43M^O[$SKD_)G68V,QA).$I E?Q A\_.@' M[M;TC_$OUFLVC$SNR)KX+^RTC['KI%7G%A+4^/7!X+C>G,* QOI! T"A!U6* M''7XD_B@A!N7,@&-!);A"YVD1K'NE5I]G;F16X)8SVJAPISH+#-[4!X+"L#P M=UC0I2Q A"W"R2T^L%#"MEC6ZWA/'54-(SJ'NQ9A@Z27,*"IWP MC-/KYZJS;[W"=\3S/W2:#TB:/(<[$G#]%BLZ%&T+ZOA(^L$-X"9W1K?^Q]V-"O4(#7WJXI4A3 M.OAB67)WK(C"F9T$P(XFW7U1NP]E7!MN]+# 8#T0SU7Q)8Y,&2JT(:Z.SU1* MA8ZF*1-ZI#CM0=C$Q_/3?>QFP'$$^5/YB'N5S,3478JZ,PL$.@]H8X"LXHSH MKS6_-_/3BOF5(E1I@D+Y<;Q +7^F?[FA>!RM"?&2*]KL69*B3SAEN XTGIU' M04#6[$P^>PXNBE,ZG-IF0R/N%973>DD$'@[Z>ZMQ<=I6'.#0,0"H'E>SN>YL M:)WE#BOT\W6^RH+L!35JP^D#-0()5KBZU W$:]M,LZ,UCB+D7D6QZ!(!;LO: M1BH]%J"Y4,H)I$V.#ZP6+"1UR$Z5$.(B9!8=R M3];)$L4=V67X5QMFG7#TE#GACO"4R;)9C0)]4 Q?608>&]8,H:X5!*>QR5UH'- M>R/$BK' <06XS#8S>Y >/Y=?.V;E>-5A'-2Y2. ;F+WW:\!SN+LO[#8JX;+; M L-D&Y.0SCF,Y9"C].)KZ:8DH(!QY8[XR85IWAJAT83]CYVV>,$!X3?0::3R MUW1:Q;Y8A%[] Z'D+8G]R#L^<,[R?=& =/FZYEDG[NA$ZW*S(>NT95CAS!C8 M0<;M;U1[8<6))7"#HF-_]!I"L$-@_ _!))39A(XOOC@>9\W9T6RCG$\.B>#H M4YX*,5/,QW%.AFS3NA7$;_NO:"_]3=Q%^7]%]X8?>@6;HXA>&8C*L-_\S*@' M*$U'A>V(&8\RZYV,SF?V Y4WK$[$%4'Z>\BF\+/K#DK/7?C)+DIP\#&.]CM: M@_Z;ACT*=D^\W 51J-J2F-B$+[@KL/P]!NL(.NK_0KL!6R^X[02J6%^8C;C= MO*)H.:I,'Z,'V/$8?1EJ-WAG]?NX^Q7'Z)7KO MD3SY8%V#UT!V+9]44\6L9DF)*ARO4CCQ!,>C31!E+ [?>C446:C[.T6DK#G MB6^()I?Y<4'8O%9C:V0;:I2"RU:-K3VR!.7O)Y&$/YV-;H[RWDQ#P!' \4## M\QU1'NN>3)KF>8_X"8?YJVOG=$ 1!;Z'\_?>;JE+BU=O5IM\!QX'Y5O,;6=: MAI(-F]&#>K#VQ,@0@N'&C6'A6:\@"5:@FAE\9B8:PC;22U-098MZD&#]!-@9 M3OQDM1&U4VON_:?0W_AK=IL_2T1(!^NWU."U3Y('26K_GJ)@\FX(_Q1OC=G* M@?T<66]4]I-)JIC/'D7:L/78I%+.DN+FVM$N5S_IDV2.W4.C2"VJL# C*$>5 M=E2H1S]S Z:=@WQ1KIHR$E_[(5G2OJ&Y(#^ N"\J(A_YJ4=4+F5]<9'Y&-F_ MHO/(+K(*.\P(Q*V819@&[C/X<]^+FXG>W/DB:&^([LHYA?^6C;C MU,5A1[ VG+7M-D59N!&EU6+K;:1,,"HE]UL:Z]]^_4VG]W,8"IT0.,-6MRG:RS/&:0N!M]=B@+N%@1^D*J.D%,&5\FRM0)6>D=3[\%*Y=A M[I(J0?V1N9]YXCJ9D.]4?RL(.J@NF9!ZW$0#Q $ M:$=8A0'A@8KCB/ 53S*?68AR$_/7-;\&-9X ZW;!O8GJ_8^)DDT7*7/;AAGR MDK"#F@9=/4/T43&XH41GK'V^YU*FX^Z^3-$FF-369[?5@=U&C1"+K55; 6Z[ M-3/;M@5760AK;=EU!S0NZ/(E^>H! V>O.[.N-J1B#U5W:3!O5=> 35H#M,T! MKZ(X7,*:&-UGV,EEUX:+SB>:#;@FDT5-E=DUX=9)FZK\K!KQL).GXU;LNL^9 M!#*=KCCK:F[Q(1O^AA[M >,]#@R>R]+4@,U3 [2-1+:JXG!9:F)TCQ2VV6"0 MG2LLI#ON:XJ!6VY; 9MXUSY^] .^&F#>#=E+@]WR>WI)9(6E*+B,Z0NH]Y0C M5URQBGA(T VJ1W3NK%WN++9NBG-G!95NI_DQ.LS7=#5@AQ(#M-+4&?.:K[4; MW3^9!J0)VQ'>]@F;MLKLVG#+A$U=?E:M>,C9B[09N^Z?1L7,'T%)V(DV"*EB MKK ?_P4'>U)!;9N\M52!35H3O+7%?4UYN*0ULMIZ:9\*1URZ0%K7,S@9XM9] MJI8Z\VO)^GTJ785YM>4!]ZD4C=EU%S0RZO+ZIA]2TO+T!HZ..Y1O A\>8APF M.'O1M_7L0VLUV.0UQ5T_%:&O Y?"QI;;GY>H'K\^(%&%XVY)A=Q\BM1-PCQ; MO>$$JD/U^7%AC*F&AA:0IELN7++C+DD%;6Y>FOTL9'&)HY#^N.7]9 M(UF&8ADZ8?1W[:<#AY$,.YP,Z+WZX[2]Q<(-/T."L^4@M:&6.JAF1?;@6F8' M>\ZV5K PQ7&OWL.);=W]0**_6.)J!PA#R/TBJ3M<_SD$=UV/-T XDAU ;:10 MJUDR5*[+E9!WB"=I.ZA"4'MIF%'%$&61B%)3%':>21/#A\A.-6EFR*E 90D* M#^Z"SY1@78R)\G25C:24!WW(Z5P99@2R\X$X M6;I-V5+=WJXNC[=%FK8ZL..)$6(Q:F@KP(T-9F8/<.M?S*_"$PPBUT0?%[I( MYRV4Y =5;"M.:M]$*4FN(QRRE1G)Y5WS\82-1-@Q8 !OR<<5G<7!C1]#@!IB M?%'>/.#J$=?/5TME]^0A#3(@'#-^3@HZNZO=0P*5B+G$BCL M_:4?H)C+FT- Z8%JT"%*VTU2<+''@>,@WR2M''.YV9!UZK^0\D+3'4X)'4M1 M\E(#^7I-QSAE)7(N<7_(XU5W>'.)4#U1#Q*E2/1)N#S(+4-T$>''*@>/J MEPTKASF^;'AV.,,4T9KHNKI2[<2-(9 MP0!WN\X.*->%N#)4:',?'R9SQSF.XP.#G+F$)Q=/4G_+S\,+OHK$Y_V6;N^' M';]QVG+N75L!=E1HQRK)H",I#9?Y!C;W')#7GZ(=[)!X0M9OGZ*7=Q[QLU9+ M_Z@:*_W'+]?D"0>7U(#TL'CUFZ] R4O ;(X:-*S]2;Z&U^!T1MJV,"X/90)I MTZ(BI^TOQL8T/D2"VT;4 %'3)QTQ-B M!#!#';R_N5Z&WIYV0+0K^D2VCR1NV*\L!+/EZS$5I^N/2\ ^5*^QU_J*S#6J M9$YZF'X,,$A$@W[.Q$Y_='[LWVDHUM,IU+._#-=*QA\5@,MV.9:"Z?5O8;-< M8:MMR^'BV&K:I.P>"X0[4H^%:"@RGT+%AMHO7ERT*:BX6A$>%,S@OIXI"\Q RX<;Q$ M)/D:.#\&6EL1&.)BK6A42,,--[>[ORU#"B+DO1(.=!-)?6F8[#!$68T[E46A M#SW;#;CDOZ:36Y1^&,5^>N#&D"0MX]LMB5FN M&OQ$S@ZWF)WN;CC)3@+,$-7#&[7[EN;5X0T ^H"POHN9ZT*%,E0-&2IU["!/ MIM#-G^_>FH[4Z>0YB0+?X[%J MF9)MHIC**@O"I'T[MF+X+B\%C\0&MO980:G$(B[7U<1W.H3N&*:<%&N*SHEE M\FFRJMQ6B;KRL+G8BE1DH[(P7#ZV MFVS?9>22$15=Y>=R2K" V2J9]I'=BL-$)?NU8B*G+0B3&.W8BLU3>2G8^Z8M-MLWKDPLVN5R)]TL M'1M4(=?=!NE4"(<*#I]P3#M^MO4:A>)-=;6Y(R\DW).6U 3MM6!& ME8ZHQ=%Y2Q6XXW53PVV;<5T^2VN4:U G+9AF5#\V\!N2H@0')/G>Z?Y.E@GI M.DK:\HGH:\ FK %:Z5[/<7&X1#4QNO]>2)XXBTEW3=!I /L9X*\"*OYK)U25 MIK]G_U3X15<>-DU;D;:^X\#^"9>B[2;W& PJWV]P\C!LF3>K2INEV2-1EX;= M8%M0UK+5R8O";:QM!EOGHI-D5)-O@DS24/DSZQO:URQ"[Y[$+S[+YK_:2- G M#]2,1/Z5=J-A8!6P*3&&/T4>#2D?+OE&03DD8Y5'[^SO?&7I\A=)0C3KD/)2 M,"G1@JJ\VW5WV\3L9S X>F25'3:DY+T:.0T0PW!L('GIA MV<8'W-(_,G2Q90_C_I-XYU'27-\WK0.34YT0"WO^^@JPQ]_FYMNVRU(:6E-Q M[-:M'[Z0),UF?GXH/I1:V3#U<8&1G2"-/2>H\@W3XN(TP;0_/OW0!S,,^"F, M"0Z8<1_IE)!M^70(U]+*,,.:G0_:!@_'->[QR+=NGG2:\ M?"G>FO(1ILQ%U$!N:65:V])BA^JPPT]7/TB>:VJM"S? =$9@/1*O\X(Q(N.& MR ;7BY)S\<:D :(RZ6-,1U/Y3DB+!Y65YA$,])AE(4!> S[Q6^SNW< K^2?H MD6RBF*!%$$2?^:N-[/G2\YAX?LI/89Z@7+U3\H_MD5CPR!/3X(3R#8P>T<+VC#.#4M_%(+1)T$0 X,%C!.3!P@OLN<$K+K$<33AHAI M?5-S@Y?K8P_2_?M*D.5"I![.XLORF< MZ7'+Y/'@/T0I#E!,H6\+!4YI_=*VM.1-BMZ.7,EM=;0;4 M-C"^/[>9$K0,4:X&%KM']$!&[\]4P:D?GNXR%4X)?N6'?O),O(]1Y'4CN+;F M3 C>CEY*<'6U&1#

9:H0#CVVHLJ4 MH:#2-NGY7P?P*>&!Y;X'D/'>>NR@6BJWJ0^36=:>Z#*. ++>/L188K@%Z]F.)T9P06M' MZFK#8IX^F?207VYGD3I!GSZQM1+,*-D-L^R0G[P&W-&)H=V#M?)R@]QM-L6I M8.,9A]JP( M_\R D*8"9L#13KXXHJU1;>!,[H:A%[EQ@*@NQ 4CK@TQ=<5#.]GGSCD_C4,R ML!%W0LJ<$(7Y^SN#;7U[+RS,)%>TU9_ODY2*CJ5;W(IR,-G;BJS9#Q:/$XVC\] MLTXP+\F.R!3'95AF@S)(I9GI4Y^5&Z8:Z]!JJM 7!\M>+*7=2,M^NITDV*3NX9WZE;[.8N#2OP\8^W6\ M8M$"Y5I1KA95>E&EV/5FO4,?I=1')-/J9/>^A'Y'&,%HG.0X%1Y9I%?$HZX( M[NF0>L_N35;UZ?"TS;T#Z9A)$!K2H]+P-(2"&02N06$.$-+J]B!-L%ND*+<* ME6:)Y>^.;_-,'/! ^)9I6[/3'D(P/$%TRLNFRS^]O7^+-KD7D]*+?A4^XWP* M_>']_W%R_FFSH=;[+Z3FE+IC[>+F,))A1\L!O5<[9=5?+-S(."0X:\X6-C3C M63,\@HV!$+QH%MP C0N9'PC/[KYF3TR76W_=^AF-%-C1RM(K!J,WE0BX4<@6 MR/ C,*XR?PA@S9\GK_;,(0VO1G--YH J:KAYKU6!.EN*\_Y[G[\;V,UGDMJS M#!$J+QB$AF;5V84$)8#A0T&^&EWI@L3_P?W !=H^T2;=UK[PDW40)?N8<-GG MT787DV6SPUEV-/F>G4S^&$?[G1\^Z9XI,ZP*.YYTP2\&#I-Z<"-$)^MMVS13@K@6 M='9 N1[$%:%"D]-7SZ![8>H \(E@-GEEZR)G./&3Q:NO6J]OKS4;VNM0*Q@O MJS(+LFL-'Z:%"RH0UX%^9EJ5$-<)%!$^%-8+U3D*I\F5WY^5^V.[*C%Q%OP*[%=F=)="FRV6'JE MEHN_FPBXK+$%8LN<0D_.$[%+<9O4?V(_E+=(,T5.SK'5QMK/O0CB)@ MAP4;?]2.IG:H#S<@6*&P/FR:*V.GO(7>$TQ4F-09E0/<3A8E\^4K/Z2?^=EQ M6?Z[G.,=OS9UW?+D]@!B84>-H?PFGX_:R80;709#-L2,5KY@4UJ!2C-088?[ M]\6_8 =.-"-*GA>AQ_YS^8^]_X(#=F!/$M25XT3S^K #5V=/U.<_AI7AAJ+N M$.S'^LDS/\7._Q"4R5<,',U_)O4&2W>S9G^02IG+%T/NR)I0.QX#V?A.X3+3 MNK##0"H?O#MVOGXFW#PA[V)V_X7"+X_3P$.,PP6L^ MZ3@[U+[1G'NQE06;^+T\),8"*T%PPT,_.-9W.G.M[!) \1H*%X]$S6R_O?ZM MR^,T7X*G)@E&UU'X1+VYO2"/Z0/5HSEGHR@*.Y3H\(F10E8.;B#06FO;>@NA MB$E%3*S\N,PT#!X-XFF)\82#A,"ZBVB+_>;=O];"\V)>':..>UG)^;"O8>^0 M_,M$PV#@@# AUW79 M6\Z^I0W&3Y(H/KB@G]FX7#,<[20 -EF[^T+DL'EM MN-2VP&!_H*_#Q,S=^->51US' NU06%IP/MQ6#X&/2\V#JP.-"1NLUQJ'OP:[!![C5]#7_!(XE1HAO1?51.D__CEG&VYD'C' ME-_@K6R-45,,9O-KP\4:GZH,O*;7:JGUV1E!*&)2A[Z!U]+T[LB.^N>9VK)X MBDEVPK"!4SK@Z%H7;B/M[(&BY1I7A-FU^>TU" MCSWOAW?T\_30\$?GRC );.>#(DNH>4W823XM<-@V[UPL"C*Y:)T+1OO0X^]< M$\2V9Q(41HP%N_RS.&=%UL^MN:5HDYLZ:1[."7W%^;[:H$P9*K2APH>Y/E0H MG/Q!4!?M)L)A_E:UF[US&H^K \ \K\?]+B;86X5_P;'//M0\9=.A.LQX:>N' M^HZ[65VX Z#.".RWJZDB\31\ED@FTX56(2JTN7L_9C)?+-D\AR1I_M!5R$,! M.R:_PX?M<:H\^R%1'=!M[(=K?X>#BSU9A=GN9?EFSL4QU2U%P*1['W^4@Z2. M]8$/E6S1] L!U640M"M4(F_/>>!E.^JD?(J*/9$^[9C(C5.$N%BJ1%0G"XSY M,8/J?:Z+J0.D$\?<&C4.P0]_>%?93(=SO_[PF^*37.8/_Q]02P,$% @ M\H&G6"W/LK%")@ (YL" !0 !C:7@M,C R-# S,S%?<')E+GAM;.U=6W/C MN)5^3]7^!Z[W8;-5Z[9EV>YVU\RD9$GN<<47Q?;,)/O2!9.0A Q%*B E6_GU M"_ BD2)! B0H@O!4+MUM R#.^3X< <'!S_\Y7UA&VN(/>0Z/Q[U/IT>&= Q M70LYLQ^/5O[T^,O17W[ZCS_]\)_'QW^_?KHS+-=<+:#C&R:&P(>6\8;\N?'B M+I? ,>XAQLBVC6N,K!DTC-[II\M/9Y\NC./CGX(FKH%'JKB.$;1U]JD7_V(8 MM>8Z7XV+D\\G9Z=GY\;9U]Z7K^=]8W(?%[LG'9NBDG(V3D[>WMT]O_4\NGI'JI[V3O]_?/9MSN #'R/%\X)CPR"#E MOWK!#^]<$_B!]91U$7Z M:XZ/Q,7I;U%!^80L8?E,^Y$.>E=75R?!;X]^^I-A_(!=&S[!J1'\Z*N_6<(? MCSRT6-JTJ>!GR=7O5/3WSP[CKN8G-"RY_P-1T(RJ7"DWJ2/ON$ MK+0?0]>QH$,X3?[BN3:R*(FO@4T5_SR'T/YS>$ANR@ 2F M(9$4PSDIC-8P_&DC*N'_N(+:>O9=\_>Y:UO$#H__M2*\;EQ'>9_LA&8F )-? MS:&/3&"WH*:][RNHLR'PYC>V^]:,[6%\Z6!Z&"'/M%UOA>$CG@$'_3LP_F2P MD[4%(GV:8.B1WM6:;80^T8+DURL/.=#SGN&,(B%A?N5JN@5)[P'^'?K@U8;/ MT%QAY"-82NL]B?*;:$&6@6FZ*S)NGJ )T9IVZ 'ZM0%CM-J"?+?.FC#&Q42_ M,@3;;ZY%Q"9@0Q5++ #Y"5Y!ZPZ!5V1SL9$;P.*/M"#]!+MK1/>%-RX.%T\O MX%V"P,QV6Y#Q!CED)8V ?4NV2SC86]07,+_1%J1[@C:=LLF2Q=^\8.!XP*26 MO+Z$[(9;D=*D6\)P&"%G1OCED+^:D O-C&3%C2FYSIF0Q9DIPQ:)?$JI=<\+ M-9WUY2__@")K(#YY.59"+9J>MABK6SX.&67 MD:0V.9U09,X/NR-CTM^VI,JLOT,C]]>2V%#GTZVO&=+_DJ01GD\HNI[@*2.9 M-[*ZH\ZZA/%C27JK]E%%5C%#@/$&.;-?@;VB<(X]'RVHT^,&(!S\\'&:5T^2 M[IKHDD(>J";72I6^*:J;0/Q807D=3E:_"KOHP!GMV!UXA?91J5;SVK(Q3C5% M0TFN:"A)[S)0?/H+84^7B47B'6D^^@AMII$@C(18\-V'C@6M[4^13S]Z2CI] M:AP;<4/)OP+',L)6C6IG3U1FBH]KIKIBTS >%V=5[)'F@J8\:'Z:N>L3"R*J M@3[]"Z5U/] L^/!*QA5A5-R2377]XU'.[T\:[$JLKQ?28DY/DK_^ M?MG_5+_^SLR^E%C_RQZUN2' .<[B? 9MPT^6N&+VG]1R5.EL'Q^+$Y M1_86]BEV%[D:BK[F4=P M#!<%-XCLRE>+5XAS\-LOTAGX771*;R>X Q1F1W_ 2SRK&9>L8[AQM'Y M"+O+3F%']^:8F(_07TK#_H;4Q8$W0]=B0UE8JV/(BLL2 ?VY4T"_@/=;BV@* M35%XUZ'$PC+*=PQ<$2DB6+]T"M:!91&E>]$?9.L/>TQ(<\IV#$Y>"2(HKSH. MY9D E&>=AS)?@M@?<-I%+(?DKX_XQ7USRI#PFCB7]CU'LBELG)5NP*'C$ MP9%&>-FN$,J]XFE]?%;7-2%"-Z]P-P$M%R&& MLRM.'VIR!A@"!H#)7W<&LM).QR!UQ:-#;U;;D[GKL#TZ^T4Z Q97QV/ NN+2 MB0*(-KVSUQ=ZDI<#V'Z1S@#&U?$8L*[X<5XPH(D+5]?.02OU^\Y 5=[K M&*>NN&%B\HW?S3EP9I#A*\TKUAG4N#L?@]BA-1P!'T3R%KB^\XIW#%0!(>*C_+K^E\.=Y>\. MVO"0;&)G+MX4GB-N2Z7E_T+D[ZD,8GG?8^RZY75Y7@#;C@/VF]*Q-0YM.TR().% M.H9?:==CV+KB;XD6;>YB00^S7?/WYSG1D?>X\FFF.+JE8B]7"RIU#%9A46*8 MZWII#KW*&1(]81KK;L'WOT+V$-TKUS4X.7H?(]@5MTVTYKY!G@GL?T" V4&G MK**=05%(@!C(KOAUXGC,G70WY"=Y"U=&R<[ *-+_&,6N.'C2LH4!TGPX)LJF M-7&EKA= 3((8R[I^G<--C@,BG!4(:(.\!4_J]YU!K;S7<=B^]&"9'T[V;YC) MO78FE@HW@0'S]EGOE-X^V[9+_CY\?!B-'Y['(_JWY\>[V]'@A?SC>G W>!B. MC>>?Q^.7YZ,#7$*; N\U:&_E'<\ 6(8DAK;OQ3_9L3GZP?>M((G;GQ,WC/]G MW%83JUI].-82)TCV4=;QH%"*\+U>KW]QVR^F1="&_)7TO-_;:@ M:EC7L_/%8DFZ*:W( !]X'EFAEZQ'TX64!;L8MRS@'&+I9V55 M@YX#01;L/)+IA3Y]%H*^OD+^H&]FK(%-Y/<&?BI_$6MZYZFK)CMX@,Z9]"L+ MK!=I\O(4Y@=<<=1(Z^NLU^]WER"B8C:Z;.@=?";)2\I8S(NB*CH10UC.!C*W MM&@PXFR5F_!UD#PF)(OHA'RI7 WD=FD1Z0F&2X"L\?N2NO_)9/GHSR%.*9!! M (Z:.O&BJK@-I)919?/!L^G0B0+<8-<.AG%]8-<&.Y,ZE/P@E.'!=3OM,0Q(E:94(99DCF2-D#3E-+K%/?A>YIOK6F_(WK^) MN?_K#T.30H$UM#RA(> M6U"];-T=<"P&%>BO5(.Z,FI9 C#%T^LPYWI%E(F<&;6)MXLE=M?A^ZG?L)NY MM\M51V-*B,NMU]+X'A ].Q!ODFHL(@J[@L8L$11:K_F"!OS[>!4\XW-+EW8S MFK:NB",%-30FB:C4NAT3,1191)3B2AISI8+@LHZ)U-BO#$QSM5@%3X6-()' M1-$L;!I ZUF!!$QN%KZX*;[2AD=PO9QU/$]7\T7<25"*?L>JU91U&?Z=.+"_@"WI,*8?HZ2FJE]7;1NKM#'.0L4:J(K/=: M@R^P+K>"C@01E%;;=4LT73] 'R('6&& GB-],AC-,D8E8RXOR MBFGM7;:6=U@:82J*K%> 6D+H8'-&'Q?!< X=#ZUAN(^G=R(':X!L>I9PX^)G MD$S[,K#^N0HOFY =_N.4;/K+@X]D?4D[2AY*1XTF5U!@+\6]A]*.09PB*I5P MH?%XE(IQ**J1HSFW/K_X>@4RT<4AVMZ4'+H.?3(4.B912<$NBU%#-;I4#E<2 ME?$@2^AVGW38_M9[G(;S<*"9S.Q\E *6^=K#&>]K#\\OY(_[\2:VALX(W9$C1 M$4"[\!ORYT.RO"+=P^-WTU[1*W(TZ)/\UV(O?"NTE!YF]&G;+ZV:DA($T[LJ M.=)V/J/XT/7("ISF$PFF5XC7R(3>LVNSKAFS*W28#H)"->"^.W ^'7I3:8+= M*=/3DBC185S+I&C@M.[ FTIHV_2E7.A #&P:0FDMD(.H1N@[Y%$^0]9&DZMR MA^&O(6 #_K,#QW@L(972F>T<,JS@CFS)#F/.*TT#5S(/G<67D MZ]*;6"*T1 MV0U$$4T[/QMS[5I:L\,$J"I= ]<>#TV(F/#QLA8Y*S(0HA%!]HG7<.IBN(U[ M@][XG:B1"(X<@#?!YIN&M] %L1M8SEB7A9N@1K[8:0(>5BL-7,-L@[A$$=&$ M?$WF:_;*E%&Z\X3ADR@"6XT7@*N _0#]TA5)JDQ:#5]:#P$0 +9 [,,_PO,2WUJM-CM,%_ERQ^XIZ4\7M\XO2F5OSI'2R7$+*CQ$;DFJ@Y9'EHUPO#CV*\)Q,]S@L5[/G#H&631:!=JH\/,J"]GS!>9\1]*\"4:)!E5B#&&U8I^G!&2 M-&:-]',@=0*%V(&()>%!_6KA0<\OC\.__OQX-QH_/?^W,?[;+[RG6" M>,EWQ'*]%M91E@IL1 MHP"VA7JQ(7#6[AW1*+(@A3I53%GUN('/]"AQ"=C[* MCW'KL!#_PCHZY?+BPD1'YA'9D@(&D#MPJ4NUI9;"9XZ^M(E'K" M=S[&<$]S(W=!A@W+6YE75D=.\ NJU^/A.X^##;S8K\"ST]@OKRPI*NTRN*33 M*Q](N*@.!!]P;#&2!5/:.>OW^A>*W$[D@I&UORB5L/,;C*1Z"J>!;$'M(.>3 M4*\AG[W%6V;U[W*O^ZJ$?R5S7RR67FE\9&6T4 GT8OSR@.<239*!7T*"-CV] MP7[[\->+Y.TRZ.52Z67=XWLT7L)=.@3>G $ZJ[@V^ L)6-?F7X54<.",NAG: M)T.UL$_9(;C[@7]=II-<#=3U*I7PK;-YLT+]]+I)$5[9)+F4PG7&V&&;&Y7C M5R8!#G/H(Y.*SAG,V^^9QFHWS:C%PP\'SS\;-W>-OSQTP M#EN=\-N$G"H'WYL&3,8NY;=UO?G%HP^^;)-##$R?,#^XCU0LE'A#"IL))I)[ MFUL9$G?>I1VF#2KP;>P*J :Y) BSW"@16:] .9Z7U5D>$(ZJ'X8TE96AF1-M M_]DQKFP7);4^$(G$]:#4:8N)WBDGSD_[_5[ "_*#[S3+"U%7G-XEG9TU8@*S MG/;8BTFNF]\K\ INQ:=B%V?S8Y;7GB?5-%#75:::7YY(C"'9)XY@^&="HU$D M"=C0D4,WE*:)5Z2S MNQ=#A,U146,?D&65U:+4UJL!\HU6\,4=3*=$!V1\\/-LK]X'I!2/!O1ZO"ZK M@PF&2X"LV*<1[5+(Z IV,/3-"9^?4CR-?4">55:+;OM"_LU1[2,PU6C6V+ZP MIDH:R-BL'L'H"M63<=9:T)!JA)-TUBHJ<>?OH9/U91" 058&YK]6"$.B$3*6 M_,W$!@[-Y$^#6I:T".LLEKL!U2@CB0(Y9[7U5**;TR&CCGN ?X<^W=:4/IC! M5??C$HM;&PT[)0Y^1$-T:T)H!>\\T.#L>^!3\3?!JXNV#4TJ'\U2Z&*?&-=% MJ/M >>R8DJHM?AS^2=91H[Z*PW,R&ITW+DXJ*J&$DE48?P-I;5ZV?E&_<8M7 M425ZN3.>R+YZ$ZYQ'UP?)@XOJ$Z>8) -90)PP7PJTH1J)*O)A2RY:BM#KZB[ MA'X'UAHX9M)=6&ZRLG6T)Y"X]+H=#O$;_MJ>!]78U-B<5U,E#3ROJ![!;I!# MAIL$%U=!0ZH13I*+2U3BSN?9BZTT34">O3U>,K'E5U*-&I*@9L]P FJ0M2A2 MP_Y0M=+_49?=FFQY@Y@AHD)DDOF7_H+L?=,_2)2CR=DNUSB0UKIS.JD5W4#BJDM<[GG3RL+I48!JK17R$ZMSW6_IA_BA6Z M5=T(>4O7 _8W[*Z6P?//(30PWP2ZD$:4O[[:;64;?P28#&$FG MWTKE5OMCP+6;J.>/$5>(C*3=>'F:HP&QGO3A2>]Q.DE\Z"@%)2.%4.^4_,T#W^2N MT^D=,5X(A:YMMK-8]F=4LUI2>96Z-WX(Q74U=]I.ONN5AQSH><]P1B5/3!B< MENXL:^GB-@TO;-1 J5:5M&^1_$]P2?/7.+.RM2&S^(%7N'O]X#F_\%@4\EXS MUOAL0SL2?2FS((5U5#,#!6@DQ[NX3)IY0Q+I2/A'ZT5VM";:47J4QOW<).Q6 M^0J"6>/P2X:]KO!,^ZPJJHU9#FSVYVHAT30;NB)Y=$H&]&7!]+L,FP_@RU_YPK!Z)[3SQ+DUHS MRQ$$^GJDO1L7)PZ!.(W%YZRQV#9H3%ULH*!)PX_:5-(\;,466 <4U&CI1%-D M'<"NHMI Y\ F]QBSQ=%\X &\/5JF+Z26C]TMV]&Y;,]+-*3EP;P#" MOP)[!7?U Y<6#C-)N/$1>'-"P:.!\Q4 M=%_)>+[*CN>H1;)R)TT:?KI-)0ECK2R:H>^89_?'_YI6J %U08^+X;I M*_3UQ.V6*<@,?)/4C[8IR)F11;1#_FI"@>F\=YHW_&F[QJYA(].RDD;@ ;ZQ ME$$/6H+06V^;VC8H0W8::,EVN$MI\= 7EBMWN?X2\H^UZI;6&7N M@TC)C@2(;%CFJ*2T*A:FL>#%*O)W_DW&R$(D#&<@=3%3Q"IK3QP)ZF@JWZP* ML:POP>$ UWS3/ST[[8M$M!I_#EM7=H[I:FBK.8?6RH:/T_T>)8"]WD2_+ UW MK=:::H9#* 16HLC*N\4YPF*%C$ _:P02P;&[1I4?_0>,DOU^\+RHN3"76(+" M.JJ-=S'E9VV N+ ?(?!4R!*<9RT!*_Q4>6/0J3C4W?P5ZSM(I7KG H=Z7'+" M,_D7 <(MIL=*KW7#P!G#*EMBS7Q5Z0A7(;-PD34+^W&NRIN#3@>\[JB][=1P MA>FX>1&S!<7551OX@H&PM<34;+3S1/T)V8#+@J5!26BL\K:ATS&RV6FO%'/Q MM0-_DZK9$,%H6>FB:V97&"&S0J;D<]:4L -GE3<>G8Z@W=$]3.2%UG#;.YK> MBZR57;)HIIGX8]LL3N@2 ML'N]N08V?:3C>0ZA'R3?(YMJ[MC=DNKI87!&AD&[>10KA_%6D5.SM4)Y=,S MLE H8^*89@1]@&PN\W#.E7PL/V"&[%^V7S=NDV><80>4-21[!][EIQI%%>I' MO.3!ZEC/:.:@*3)!*K(S^GQ@J7/"8:HVI9K1*$VG],TIH0KFTE'<$817ZB[C'HHV.+$GGB.Q%F;"E"W08,@Y!&HC^DPS7T'7H=;6ABY=NF,><"1RK:(/Y61Q]["?6->3?^VF0/*/[X]O#OGX'"US%CZ9WZL":X/+'CZ9E1K$ M]7#/7?WDE$CKH=_: ^E\ #$ +1!%_6ETZ"Z6?[]UR!<<$/LMV'-J06DEH2R M9M] BPFF/K!2EK9=@Y%3'J4LK?S5;==0XY!%J361+*?A'7+@K0\7^TNDNLVI MPH8&5U2-J$@IDM6/KD=.\.E@5H.>OQV7$XAI&@$P@]>;20 >*]:>OX6.4ZZ8 M%]DSL;J:T>Q8C'UU;Q<_P"XC=#IVEKU.7GB][]B(NT"/R[9%HUYTZI3L8]P$ MS#E(J]%2>O1=]?KG5[K> &2*J]1>I9)?(77).K#3#,=2?D'E2" )V+0_0D!V M'1G!=#FQBJK""D'LRD O$*X#L(LD7PD?1'5FT3C)]W*4E%:;! 589J<+$0GU M8D)\K (?R((S%+Z0"\SR&K%!3$:E'&+U5YQQLI6]/4?>JH&KCBJ\:&X!45T- MFE$G%#=W,9%;1CEJ" .80X)2 96:/W+=L5'"A,T$N];*9"P.V 65@[44DK1O M5$ J];&\!YA0F1[1N0YSH<N@Y+_6"WAGL*A"2ZHQJPH=LJ22I0A) M1%M#_.JJ0+6M^R:\7WOG>J49@MDU5*..1*,D*K5>2Z(ZX]LB2D]:R[$!)6T(++;>'$B)P%/P<$>H[1J\(O!EX5? M1,PN@Q^\)4*AC612)M(-+_]7A>=[,C^A&LU$:)(E6>.: M:9&9^;?CPF2KU!=5<.R44THUW!M'+GUDQ:N1SK]^E&>VR\ZF"NNH1IRZ\Y*X ML$V]9-0J)P2HT 4&%"/(QX)#&83JKA96,$)&E,&"[O;_#:VAFW&"<-71"?/J M C?JJE?B=9M?' R!397PC4RD!=Y[OLHZT4:"Y ?QT[;\^$TVFW?JUT)WZW3L)W04OT.G^Q,Z7+?GA%I3S<8T]W1.T\XR14X/FXV./S]KG2$R MH<\AEK J-*-/K0AY%>@A#& ."4H%5 KTQB/D58"U%)+T%D5 *O6QE!HAWSTL M!:32*QPL-<&1N2V8XW;S6IDGDK>Z5$/$PR@[@Z54#V7WL!202B\/TG8B*_-%9@NJAGF= M.9E3.DVQ?P)O]V1*PPC8=-M%4P=X$*\+KJF65526&\7X%A!#3%2E#+X\HOSF MXM]O'3+AF635(\04=DW]J"(HJZ9&Y08YR)M#ZYOK6F)<8=?4CRN"LNJ5\&FK M!2)X&2E($?W09PG5K;O>W)&R$["A:[*!8Y&?X!61 H%79(?AYQQEA/S!EP71 ML\OP(\%;[2#\C&'OOB-25'7_<:1/+U8H6;Z4^(\+:]3?:?( S7JNG;NN:J:" M X5X*UI/1KT6G@W[D=OC17V@:_F5]21+/;_R.=%)ORM^938)2@54"O3F_^FC^VB+B-3 +OXPZW+6(8%P?560 MEKD.DZ,$O+&TW0V$3] .PN,SNF"0I[2>*N2I!W:6 M--4$U\OBC*(^1X\A%#,EO["N]!"05J]\09$";QUOA>E]G])U25YI75DA(JY> MZ=JCXYP;%P.=U0%Q,T O=""6/!\IM1?<1BO+@NJ3%C9!ID%]82 M9C%I(ZPOE1C(M2>&P(PQM+>(7B;TD5 MH.DZ)EFT!0ID*&3@WT B/;!I .6*WJO8U0<^.]^(Q&^D,;E4(#]%M4FN,5UT M_M60\70*31^M84K6M+ZJ$5%"R\K2KS$^Y9Q;-J1&I9X\:96^[D,%#&9;CV8_-0- 7MSM M+8?':5%EAH?IP%_O*-%4T)*D8SJ[#2/%$GJP!LBFIP53%WL@_9CB^X0^C$87 MCSY&KZO@[:L7=P+*CO$D?D85MJI /\;Q8=/:UFL;4 )=@7)Z@I3G:/$/=E=A M=U7%-NHI//PK?'GO( \!QAODS'X%]HKNT,:>CQ8TF/D&(!S\D/%^LLCAYY?L MX>>V32/1*/EYW!\C^':02F3;)8/V*?J%.V4TH?KIZ%:O.W64G2065SFL-=SV MY7IS#6P:F?8\A]#_AMW5DL!6E+6:IZHJ]DT$K:0%JBRC7I<"$FJXAX!J+HJH,OTB1<)3W!)M "MP8)&L8E22+ 5U6A4EP!92LE02.=C=^+5)EGV M5K5-(DWHSZK:VNC\>?C.X.EWV M'@)O3O;[](_QOU9H#6RZ?[8EI[5[W^Q>5'8I:@8@Z2<_UP#O,HK\<$8'_S@H'C M 3,,3K8L%$IVZTQ=O B^*>01O\IZQ*./&<'7C.3G:([M[1>-Q">5=W8S%5CL M\"ZO=N!TN=M'NED]N]ZD?E/@!:_4EFI6B!?75+I=:8+KM3BZ_U^NTL?>3!G*<0MO]X,*4S;G5]8-99P(UE.@@(!]:+! M+XY'HW*@124O=$#FE%2= 4H9BG *Y]>^//9TX+I@[\!U=C2Y*124RMZ[:23 M(A=.,]F"JG&F)J[%1.G*I),;N4YV\G-TZYC,!P;2!50&EFO:X!2I\T>72<44 MK@^R!3N/L:!HDJRVO.@'#_L)B,F_=O"2?WP?4F\K+E3M5!=55@BA&2: /5D;3$>JJ%) MNM<:@/60$)RX>YK-W E+6!8!4E8MK:U>KW_6KMNXA6U M(/\&T'O29%T#WM%BM;B#CD5SA((E^;F_R3$1_)558THE--.&HZ;P2FWC)+B0 MB0YW80)!L/$SD018C\ZO "/ZPX*\*[S5-:.1%/&5!.,'!,M@3U: MP4=G!!? L;898T99DE1I0C.B2%.!7H_6!_U;NK6 GC]PK!%:(XM,[^'%W]TU=@:M M.&IJRJ*JDA_DE8&\$*\?3D( HT"FG_X?4$L#!!0 ( /*!IUCE"IB3$_T M -_G# 4 8VEX+3(P,C0P,S,Q>#$P<2YH=&WLO6EWJLJV/_S^?@J>=S>,!!*11"4QB:?_JE"34PT[=($E=-DV91%U:PY M?[.I6;/^_G^+L87-@.L9COW/?\AKXC\8L#5'-^S!/__A1+Y0^,__^_T_?_]_ M.(X9[4RCA.F.%HR![6.:"U0?Z-C<\(_*5CWVQ:7)./7_+KCM'7B9_)GQ1!,1AU0Z9N: JKE1\; MKGY;,GJNZBXWD[B!G1'7J10%'\FP">IYM>.._BY_@*-F?ZQ;FP9MOG0WQ5[!/W7_XX?8C$C]77VZ:&@L?]X#VY"'P M_?7 F?TT;#@<@ CUTW=5V^L[[ECU(5EA1V0")U(X36[Z\5Q_EP#PPR>3UXS% MDP=ISGBR0'_#927HQ^Z>-=R: 4EOC6O3W 7]%XG*_H3?;E/&>(7^SRFI ^,I M&3>T@5\\F9KA.0Q%)E_K>M5B_8-]JTJFT^F?"\19#\/=89J&IHR%MB&WT <)L,72M:8&3I09#&K>$/5!9Y2R]6F%:$[%^6\GE_H MK%CI2LOZC]4\%ZN?9@,WI)]"PO\BQE$D1Z$5>OVFUQ';^J ^6A)BLR!-)&U^ MUQ7G/S =:,98M>#:4C\P6QW#*:Q1Y49071L"LU<#KHC&D36L "+E#\S0__EQ M&\Y$&5'W0[4=U!)$2Y6ZM85O:%2V_N,W<]J,HFC=:9>4 M*T,!ERP6Y(1Z8YZI__&TY:)==PU.NC7QYBV=(H@EZ[7#:=/D!Z">P?7?).SIXRMP=DQCS=J(B+/.$XE1K=V;+@\N9%3;# M7@_SO>N(1+HMIG&Z8@Y8&:?903HWZW;N63C,A7=C&Q9$:C< 3Y>4\Y1J7R&I M![:VC6+R/BD-^D0PR8KEB>-8B<7@^;+QSGAL^,AF]#A;YV&'<'&@D6D [\DL MVS-B8?M=J2.W:G*V)/:*5<[GD#8X^E+P<'"N:A5L'2R*8+D:EJ0I36DDX>E) M.2\ A> 9=6'KS'B@4 H)D07J68))LP3[PB(<9;Q\X+IPL#G#TU2K U17L/4L M9)V'(9?+/BGFAF9!SGM>O24DS;3>F,-GP"'C.$GACWCX%>/-KMV%QP'GX"?> MPW"[O24QK@-F9E+]@6UQ4U[2TG6%0<-%C_B^L4)M8SCZT]'>Y5-!,2D->=DP MEIE RZO.&-25!!IM_4OIRL&!ZN%@+77P,#Y1+!I$SP4481AN5DPY8% E.85% MX^M#5 7?@!>/LVI+:8=ADDG97/;EKCUCIQ8CU#\+%_-EATAW@WO6Y,=:GM)% M>>($ P07/Y_:== 7 %!F-.#]_AN9SS=>:!G#(6*A.7V#C,Y_?GC&>&(A,SG\ M;!CZ%]![P3=^RO7"TS>];W<9OO6

-PC1]OK3[YWK>Z\OI MNH%T -1\JJ$7;%Z=&+YJK9?9GV5KO7YMR0CY+LWC#;^8+N7J)[[,KT[YS%=; M@[9.8*% :]4? A=".*4E[UEW[[O3V+S(M+F!;UQ"H_/BI^Q+SK& MO&BD5"M)3!-+ZRY?:FF@<>J*YTOMBZ@L\.L&AGHK^4T#GTSD)9TB^'Y[5%4Z MT8>.Z!D8D5GN=UL8S=E]+RDVDKX\;502"G?78WCBU%V([[8P#LP&=#0,C.5] M4NL1:K%$B/1@K@J2F[7,Z!NC%VY@',7C.9!]P>,3L=!-6*:PU$N5U&W_OMSJ MGKK>^6+[(A+K^[IYD;/3.,\SDFE2@YY;3*1K4C5_\CKF6\R+:*SVNZV+H5*9 M:;1TJQ(&:]>:MX:4&76CKS*B;ET<)WY!?:]Y 7P^ M%N7; A'8M2 [Q=O4J!X;&">\W.^V,.:9N50"]NVMC"^LIC2G-)\^ :,85F+!01:($+AUYS'3W0_ W WW:E>9I(MGN" M,1;)F="[8]Q!] %^WS1__(;SO-D_ST,N,UQ*UT=9:^NM,!+^[Z&?A^\>"*AO M-=VV.C???"-/E%47?O$H0VN>F/&>0M6[LYHP+7O%23(_DQI,]!'A99[8/\^S MYHEG*=Q_C!.=Y3C0@D4P)XH5*TAX5,WF@Q@GWLT3]/MY@HX<3[R $PV[TR$6 MT];<7&:R S.GY?W^*/K!Q\C@Q'?PQ/.\&\_UE3!Q'[@3^/AE11V#AW5OJM;0 M@-;2L_A$R;$'L/TX"WJ^M)R )X:G;'M(LH".OGWVPP8(+;(:>I"$3FFM\G:] MS'+[FV=^Z>,7Z]Z*,Z.W+"0(4C DBA1SW+#-MR/'=I"P-_L(N^*TIY3]\ZC& MOB5YM(;WK,F?/_+]B[GM>3]?S:AG*'W4UCI4VIK8'@:%O#XU6TO>2MECNVGW MHZ]N(^B4G9QE=B .6HZ\1"67JEJF 5*27VP30AZ/'$J>' =%P8Y[AD$K%6Y[ MCF7H8;L").53MJG"AZGH),K&YGEIQ^&C;L&H?D^,N"S=,HTBF(J3EE>J5"+G M*JYT\3X*/;+6"R0ZX(9#9'R1**#@=_#P"VY,KC^3#^H\_ %QE@^SL/\^L@TJ#CVFH1K)LRRTITRM,6=)$?.1D/U-9[-^K Q9\1P3^BUZGZ78%&/[;Z7 M7_:PPGZ>04C;+J"0OZVN$H\>N8PNF(+7NILMY:DQ$]*W=Y9C5$Z'>3ZPNI]E MH%>H=RZI6?G@'5HG0_9^B>6C.#VX1?IH&:M?G(&?8OLM!+ MDS\X([T3Z"+".^_<8(\#SQ8T,M><>"JVL(P MBV4IO>QK%C?R(LN+XQAB)1[3_\XN%%UO TRT&_W;@V MP$PDYKPWEJMNPNFT.XN.'MT3DV^0X%'@/T*#T\#VS_,#K[KN$MHQ#3!Q7'1I MPQ@YB2^S!.W8K=&@D$T3(',/?Z&:OM>,K+W_;I;X(!E.@ROV1=:. 1/9=E&O MBJE<7A"KJ6FZ5ZQQ_7GD(B"G"!/'+Q)X+)PP*OS=0F?)*0'8A#W/!Z.:7(JL MV7]B.'$D0_*])ZIW$DK6:S[N# ,U<=]C9;8T+*7$ M_ >LFY#UDZ,VM115LYJS G&%M* MSTC?JY4$&UF CD0.X/?$9CXJL X8#=VT1^9EUA$HU4X/9J.[4U[8+Q78+RS+ M_%&)S>;JR_RRTF6)5DOPV$%9Z8R44T;B+Y78 R\LH]#$"HD%)JLT14_W9"/9 M=(26(NHT?W1Y^S!<,3A-_/GD/W9F2/=R>,RGBY1)"D2\\A: M-Q%9QH/IO@<42X4H1K((Q5*K185OOC(C:T]"6#=E$<(@X;8)EE\6A.&L(UEF M9 VDB.=('3>_>%NMD"Q.I-ZG5E9-#Z=6(L.ZR[MI4NCK]QE"G$<3V_T%FQTI6V2J[KX0^V M.PMOPU9]Q_TD-79^CS[, ML90S-M3[?OG?"3+GX^'?W[%V,"NU42 4&6\+O9 MS!2MH@L:2WU<+[VT%.@7KR_$SZ>W7H6'H?,?"2H #ZN .=9PQJK] MGZO5)_!?#PI6_S^_PM:><0]@1[#/]5-ZCN\[XQMZZZ-P^%OOT4#06V<&W+[E MS-D.CCAHVP)GSV??AF<4/^ZJF: M.7"=P-9OYD/#WWFH;G@32UU">+$,&^ ]R]',7Y#5U@O%D-?I=$A&]2!D_(&M M[E/_EU3EGXUDU1*]OK$==ZQ:J]_.03CS]4<_?DMJSP*8T\?0&3@4T_O[)^H% MLIOZ^^'EZI]O(>Z>9V]HO"+N<#4AYYC!;"G+1[>/(^ W?_? MOU(4P?S:]Q3(:ZI_$T[EJ6@==%X_)WL$6[. ZMY T@Y_/9?QG:%X/7XFP465@/ M_D6$_]E\CSJ@$5V??;W"@)"<>]D['"S\*UM1$7R55ZL=*4(\U ML><\_72BO3V+@::Y#30]Q])A6[E2D(0L)DJ<)(A__^P==ST.-FQ1X.5&02H( M(L95LIC0YF^Y2E[ ^&JY7!#%0K5R.G-IJ=X0"JOOV%=8]IJ_QB@BP:0?QK^% M/Y^=0>IZ5[6'GSQB%'E-IL%X#XX]-3*V!O,(GKCF6(Y[L\&&;6C:!6-D-5RS M\%&KCJG$->QYA390^=G@@8Z8&OC.2B.'4G=KF>D433))-KT6KA4^K_[^^2JS M?[S*3YJ'A;&C8VHUI(!OA'E$4"Q'I7-SIJ?2]3=&31)X?<5Z3P8_B :0S5P3[]OB&V" 8.P.0")B['D,]WB/M.D_S__I5.,NRC1?!<0E8? M[T-^:C_RUV6N(0F-4@=K"+5J0\)J86@4+ZJ'/UZO]!&7J]KX9HOPY!$Y MW"P(=>@.)#OL2*SSB;DN5(L#IU!JJX(M<)^$Y-0'$9DY(")+#:XB%A#N?@:2 MLQI"N*63@T^LA _<@@#%+9BU;$'SY.6MJ8Y'BUP^I>UZ&Z]- MBL1).DTDOMK]8$_,_7CPA%,T>PQ_@_I3-CXZ S; P/"0D/NH^,X6$]KS7&,P M",J.4"QD2_6$7[J;];@W4(.OEFMMK%"!EGB%0_C.E5: 7JCP>WGQM\FNK^9>P4#4_Y#^T%?/(=YCJ8=X$:&C'6\<, M&S-\#].&H2?PWP-KE/<$L1,?#F*K#*$S>B*I$*!'*4R?9A65ZI-*KZ>2K*HG M$Y1*KM%E]0M)4W"RX5*X6>P0+)'5^AP0R_=WG$(IQ/.6A38'&E4@!4)+'M#J MD !WZFP 6VX"XWZXO;7AMM5F ^0T2YUXX&;SXGEX;LU\:.]%6^V*/=F<#'EJ M_<%JJRO\Y,DFT>YV&+&SD^J[FX%M<3OZ7-]\/@.N;VBJM>:SE=2M>V%2X5;B MUJJMG[=9P:_CB@_LP/ST]?=.D#KGR3$GNG0_?19 7KD&RN32.)$.D6R"?I%+^F,X.!5TRP\%H=!C]]!U_IAH\ U/-T( M0OITEB[=,3 M7^C3<[KN L];_U,R;$!N.?:]6::5GBIE5JB2_-!9FG>"4GIKVR+!T 16RMQA M.1> N;K\L#-_]44!M=VY4UMS=^N3IMCL+7!"7=">K=-*VNF_M8\O!H8/UH'J M)$$<;\\FF@IX34H>OJRZDC.WM^A9)9J+,4&F$J:8F-X)I679,9BW@D19%;JD MWF$XZ/GFC8/!CJ)* =^@0 MUH>GDWC?=!X#HZE>[BTL89@43C+'5%7I-VWC5S7JJGB* 9_FAFP' M7*!CD\#U A00]AT,MD 476M=ZJ_>>F,8RAK:E>0T_^8D0L.ZKFI]@E(5C6!2 M"L/J/25-@J22ZB5[:8)*)TB0>![PM7DM[2];"]VD,K9@LMEE9I3@(&OMA(:! M1?6;'*.3A$A:5$_)ZV5&J:]]WRO>4D_W]L/>9U,G&9 \YW>-'D0(B78#F\ M^W'A.R<><-702EQEI/WE?2J\M\*22^& -;*<$1-4UEO](0Z A394[0'\P,;F M0P-^\FCY[8G6O0J@OC/9BYZK(WI?2+&H!6PV10E)JA>B\,,F2=Z]LZJ-=FLL M4Q4[G\\(.:Z7FJ^S#?;KSW0XVO "BA5#%Y>*KA>[G'K#)A7N;?0/AB? M?H5=&VD^?:J@3I%5GP>+D4XZ2IQX@\/"6ND]IE9";G84J8.;*QU1P+AP*JK])E\?8=/KP$? #\X2H\#SC?[RK8!H\GT!T8*M MHRU%@/66F#8$FHG!?DQHO(!PDQR%H=S'),:_R'6$:JAZ81ZYCJF6!5N@XQTH MS#4-#!3D\AVL!]8-8,=/XUPTVA;?.@:QCG9MAF+YSL_1C8FI ?859\$$ 4S4-BBFZZD0/^=F]@JIL[Z<89 E\ MSQ?>&$HW?(:[T1G(CX5&R/(*:5O8&=1S:$H#;. Z;/#RV#8-D=Y>-WYAG)N6AKT%0"35PREL;3]L M&PW7#QRSWJ%*]@B"T4!"H4A55QB@I155!:3"T#K%]$F:T"CM^6[23UE#6:>KTT;9(*9^D.Q5M(+GYE%+^GG+$6_P3M=+I.1Q MH7;?DFO=>RN[]Y %6:LE&S4GT93%N3JRYX6%1C;0(8N=<6KWE7+3]"L44?5- M9UC0V*8-N*WC&(]'/%KU^9*OE!6YV/(G>B9-5$>E.D33S=,/M>?VU:.OPTU;_SXO;;=[C=W/1I]6Z5.7BV"%MGMIJUS6A_Q MOZ]3=$SUKZ8ZPU[3,=F_G.S4-1M3_8!47V^J/*=9XIHY*/)_@Q7ZEN59VF^J M89_9D7P+@K]I^N^O#+);YN.#QPW>0L.#4V!5G/3SR\\]7_A/'31Y XV^9=:' M6/478.$<,.&-T'\8I@@9 KFE \=='BE;'(6/7'[]C*T(".7A'%D=5F03O\4- MEV/UH7[[5OIJ99^+^\FD\0O%/O9RL.^-<--VX[!F,\HPUL#-Q 6AP802=5^* M3V"?XJ%(XNCW50-; 41(X\U]A ^[A#)E]H=$1JF:TX&8F35KA9YS5U>H,,CQ M)]#_QC'7T?LQ26OB%YFV]F):7 M=%"X%0.B7^^A@!EY))X_9>#?IL?7Y"E%$;P/2(7CGA+^I#7SD%/Q^V8-"!L[W[1D9_W\YNN)\+K6+;";=C P^$K> X5P5E]]0R=-SP6=82 M/7QNP$S0$/+65^1X&#IN:NBO'F"B_U*? MIG0\V9(YJPW!%]?]M7*%G]@>](; LA[,T;_@\H=;=:L28N_8"'NV+]X!WAO; MY-]@&:(I/E&2H>?82JCE!IBH@EF=@75N,)*[WJ5[[> MRU&VP=\<^-X=^M=^=7TXF7D'5-+LKLR\@N8EK6!A-K"I(7^T"X;IR M]JN%-5:KFG-7%Q9BZ&*ND',_4.'M2B/8BB#A55(O)<9?8?^^)DALHKK83+4"@%3- MZG=7F/,XT@,R771S,X]PO=*^&Y3>FY)\B)V5+UFM%[K%,I -M_O:>PO.1R>R M*: >%A7]V*RVU_> TR+^8%I;.U__\ZXJK%L7D:UG0H5L.0#X:L-0[4,NO%&M MN;KTUJY0FKPF'HZFW3SP&!UB.;J!$'M\B2CQH6L-2>*:3CR_UW#S880N-GS0 M7C3QJ+[4(U_6]Z=7R?UXR'OJD6R*[J> DF9U0F$26E]1]71"(9/]'D@F&)7J MZ>L\G<-0;8>C=Z'N&6&1E[7D^R[IO,+$V^@UF#BM?MJJJ>8:_K%:I88<XP"'D M?&/9C_TU$M]OUM>@J_S1"A[?*O4KW^I](=>:ZOIK1^OZ,WD 1Y?>=\-XZBB; MPA&1\5=O,BM4N I?X$K0?487"8?N\V?6!?,^(7-1$JOS$J0C>=BR&I\RTL1A^F1@^['_MW0O(<"5HB@KBK2!(HL*FJ-3>S-:W-\EX M!PT!Y:;!5Z$-&AX'R:@6U+@ $X< ^ _Y3"F*)']A6: !5%M\]>GZ G(ZK"]0 M?G(G.?978*N!;L ._[NS]W9:D(%C-(;'0! #0:R/8WT<'::-Q3 B^GAW;UXY MJ#Y^]'M10DO!UIPQ"#4N2NIUP1#^!)496W^QI7>?JFX)S@%@ZP)AJU3V)RI[ MI<61[M[2U]@I8@J.,;'"CI$B5MBQPHX2T\9B%7(70S=OK*F8V54-C[LL'.:JLY&:O<6-:_3]9CQ7O* MBO]G$9HZS:ZB!4RNM0MX=E#4\+/ ^5!T*.,6>KUM(S0G?[49"W_L3,>?HZ.PZ Q^(=>^.QYOYSS J%JG0K-+9*N2@I*I6@TC]V2KZ_!+>[I7TVM7UB%1QY M43X2,X3][!8(.DV%>\Y@L&-5G7CUO5B^OW5]8W']0D^:Y%!L,:=JON-Z2HHA MZ53J3QUHDHL]Z!,2[R/Q ^H'6W=T^MYR*O:68QF-A@J.->Y):UQ66 SAY'R( MKB259O;>'?P1;T?ROGSG?7-\-??=>7H M<]JNOOFC:W*_[CZT UUV]M)56-N40'=T'>4&B1<%C6(VE;\?*JWC&+41NJ^X MI2V9OJ9?N*1M=9T:MO4:422^INW]BN"KKFE+INA$OT^F% 9H"871Z922IMB4 M0H&TJC.)=#_9)W[\_M9KVN@/W]+V@>*@49G8>L#8]HBQ]9"QU9B_Z5JW<*CL M^ZYS^*L E=;0"3RH^[S_/EP"L.8U2J.9/E 3"@ ,NA(P32II ("B]C60IGMJ M/]%/KY=D?=N>I@!B;MV7,A.5X$EG/JO?IC(V7D?7/C]O&53)<9-D:J8)U[91 M:TFI15!$+1//6[+-6[E>P8N&:="S<7T\=TE461:??E'49M$L3 M,MD<+IV[.FRY\_1A;9E*2\GIT.2Y^S%7!E-P-QG ECM/-_1:=5BNZ8R,RQ*1 MG,U8_MZI*_1N2P:B04ID"IQ)V5HJ*/ARH637%69WG,M&D6KG[N#(;Y6K]A]]MSV')G1FRO5$R:%"?BML.RF\T-BHK=G4EUA=Y^>DF2U9O.EF5 LMS6]4T\Y M2KFN)'=;".BUE%F3ASLHTZDIJMV6OU;/'9:>9EO-J( V&*1]/ M$9R2WFW)+G+W:2)_.S-;LI3@DL9",ZR!0A*[3>5$FQ_V"L.FS);O1ZWA+"E2 M'F2F/3Q27[8YC2OEIX3H%)=SW'4%'XZ4I'>;MEWO3BA;6D%8*@6#)^^,DE&" M3?>LJ%ZI!M7JP+DG6HW JHCY\B)1GRODGB5=UH1BKS#L%R >%? M(??07[XM]IUZJIDQJ^#6Z66ZW$)IPP'L(6N>TS(I4*Q[%F:#)1:4X MPT55;2LU.-8]JS5=VH.NLE1ILXI+1(FRE:1V"X%]SVI-YDZO.B>ZM"GFBT0[ M71?:,\@#S)[5:AD6I>0'MTVY.N)RQFW!!G5_H#![Z-J7%K.Q82]JFW)%CY@*!5VIS3H0/V'3?;(%UV#&&]F4:72DA=&K=/'% M"(YU'V81 W9_V."H5V$.#1_@L ,-^8"(>IL[:J^I5\.= M\;I\S[J0U^E$O"X17)<8R**Y,#&017-=8B"+Z+K0UV0Z7IBC+-)"_ M@PA'2]3\+(@??R?YR&2!3ASZ\)\?U(_/RFWBFDQ&CD:O1>AWKBG;W#W>BUGF MRUCF51T<.98IHRJ^K_++^^'U):I\$>(>D"J<*(9[@RI>@2W8,G-<8_IXVV M5<]CBNK-OS0-@'[_6^,P?."ZD$"8ZGG ]VX.)@01F^;&JSN01HC8[(YW3.4- M#? -=-B2[#![X!W+?K#%CR1K?\/BQS*PM:EQFC)P2CL&X3$>(X5F(Q^('I0#/&JN7]\P.G?V"K M@W;__# 6_HT=C'7'7W__ [/5,:1(X.$#59W<(,GB;!W](SR*%>?SJNLN(2F; MJA4 :/'#58&_@CVODPRM_&U%(ZU6D0#W]P'H5R0^P%%:/OWC-T->T6GZ[Y]/ M*7$Z7E8LJQ_PD?Y]H#COFWD"WR#,KT[\.)).KP6=4=I2VF&89%(VEWVY:\_8 MJ<4(]2\7]'9CDDSE:W/=-"H]F^T4_#PKH+,R[(_?"?(JQ;)[!/V,?.6U!5(. M*YRO\J:!%KB&;X##61^1F6WL5WRW7Q%!W_KDC9Q'X14?9'<=_=J#>'.GTQX, MY%Q-"-KM'"?>DLZL@<[\0=.&3ES1">9XIDTL 9$'@F_;=XE@Q.&L+::/H4;1 M'S'-A.L7";ROE(M+MCG610ZB!K23*/HJ29!'L9.^U2CB- VRHN]A+M -"DA MJ:XP&_BQIW>BGM[A]DKBT,P?6RT;Z6H\"%<%^"\#D$0F$MGAO) V\[-:E^M0 MO:GJH ($T&PADU<$NP^ 8CD]23E]5-.TY#LL$H&"A37%XV MQ'Q^F4_D%7L.A9P-A9RFTA<1C2G8,T@?QX46V6$-CLA,-/:_CFB61-V+.C5+ M92..2XA=>T!+Z9<=BQL1"0*?9A8\Q#">FLV55!A0(:Z2)!4'5"Y+H+_8(4) I M15%7%'.5#CQF,#J$6'TY-Q+4$3( M[C]S7_\$CM_'K'V&K!T%ES52O/\.@OQ9N=7O=\W6>_L5QP=;!R"PONN,,;7? MAW*@^B"V5D_46HV/0D0HRAQ:B8\ITARZL9>S+&>NVAK(.2[O MWP2X[G51Q; M>SD8[4[R?M$H%85\DFP,JZ.)/>J&]QFB8#1QQ1+QEOW9"'!\1N)<0L('DGZZ MFS:6 [)0,_&*VIJ,:K-)NLDAZ6=__$Y?I?8*_QEMPJ_ME;SCZ'/#LF*/Y*P] MDC-WMD_>I-F(X1Z@HK@\8))VVC#%I"$D_%G5T&XY=)G4'8F_#Z& ?04*3CRBLMH3L!]LN4-G"EXD MGD4XWR<^*G%"=LM6NO.KWE;/28$\WDNR0I&=+XW:!/=G]$ APPJA27;?.?58 MO,]2O..S$9=BR+P7&]C1O=!O>IQ" **L#?.>3^5:=80-T*I),I=T&,+9RG^( M?;B+3GN.CT*'**>!*%F-%WT^=B M3;&C@M&PT$WZ23+-FWFS;[>&M]Z,H^L(C*#]1C-75.HX9<@N"W0NUYN]L#G' MS'T9NV90SKD_1R MKI!AT&6_ G[=?<.8N[\F;' ]RR-EZ83QQG1D(=Z?RKN-Y>^!K M:JJM*4V.AB:5&!64YER6 VT A[8^)T'11\PRC!AOQR(>N_[G;L5\&!\6\EVG M74THA,@;LBLM&QVN6$?XL#H\0;%G>'CB8=\^=KM.U.V*PR 1LDG*JC8T;. N MMU-B7@(<0I'AF0?FBB83<73D7,0TCHZP,6B.#5S@ MQ3&4RTXZC@\QG+:]LRW6!;NV%NJ7P-#69%6=,\.D3.6E"4LE^9G?A1X6A0P> M-KFO$'N,#A>,#E$(SWPW?2[6S/H8M-S[ZIW)6+0I!":H6]-\H7"K< A:T-X4 M'=_Q$/N-I^DWQN&=")D[+YYZ>@F6NGPI X#(5X4J,Z7) 3.72MQ H=8E1.DK MEHHS8,Y&5N,8S[D8'Q\6]$R_6<.G\Z(F& ICB[HZH0,R%'1V)>@I.G41@9X2 M--(P5=."<6"I/M#A"DQ<2&05S3CVYR[:GXNC/:=M_G"/8IW=DFKXV@+H!01* M;NS E;P//__(&7$EU[K7%<-(Z@"&W9I:[8!'-&T:1U>;$* M\-&>W)Z3O;$W^B>0&F'\C.NHGI#I]2* 0<'=5__K5G*SKG5GF=.A<^_.))%+ MDG6%"LNI4HFK%$O'8:=+$?2XHNJE6$4?1 F=;I::5273(*HS9['4F/&D;80H MP88H0::.8^E$QM]Z4ELUKJKZ+4XE#>%!=P)T%V(4P/+?7QB>^H:IG[61M*IB MN ?HQ+EO5!N&G)3Y[+Q5R9CC9=J +EU8#I5,):]88A_2Q4APR4CPJF'P[R\. M+44=*L[)BGH11NKU@2<-W29KMGHL'0S&2][Q0QA!FWPI\BI)'JZ2Z4L<$[7< MHR=/X>$<>JX!>[T%U@R@>:$GJ+:'[SZ&A)U=8N;2"5 L KD4IT:Q6"QCL8S% M,G(4BV+]V"\A630WH;:,2@U B\[]O E>*G"90JD@%001XRI93)2J?/&V6LH* M#?$_F%"7"U+G0%;ZUR#5 6FS7:7QY8J-D!Z:8R&^^><']>.S$I:X)I.1(\[W M5ZZ.),\-PN6J1+$/X]3MRD2Q)^L*RQ[=P7$(ISN^0@0B6 MY#P<8:+I?KYZ>)#3-+@0OH=-U*6*]KI1)KJJ:6X ]&T]=S+V<,0X_MNW#PZ8 M716I](>3RY1:"UIM)6?HM,Q*RDJ/0K:V+_?D0913[H@%P/0%:E)*%.Y$?R)F MZVBL*)TJ<95DXL*59R.R7YD&%2F9/JN4IC^2]Q)S+RC%ECXP\5EY8-[=9I<* M&\H[^^-W^HI-[SN;>T9IXFOKI&!KSAA@OKH CQ:*[V!JOP])J/H@=E$N^D!R M7-[@M(VB\-+[=P$B;.&U1(8632-?G\2B3C$VG"(V MQ,4*+MCZ>C^P%!FF5[RWBGFSQ507HU(_(32X$%A0AOE5DMKG6)UXZ8'5Z3MM M=SA5NUX>V0UP:-IIQW!A:SY'F[@")"JSJ7R2N* MB"-"%R/><;V!2S%LWH4-0J%JL4%[IIEYI>TL'#H[P$L#A W(IH'>$G6<>]4N MWE&*_<5XNSL**1_1HD,L%22>Y *?N.>VWOC/@CZ "DC'C*T,@-@4O1Q3],P=M+..7V^$ M=Y6](ZF+K:#5_K*8@LQ;?*]KJ03/W)+%6;G:3[]3Q3SM_Z;C"MR-54-T2.3ARN/-SW>^=KXRA, M;HC=F'/=R_LV,^B4]O1.S29ZGI#T&&+; VK#=+T_5DMN16[E$@73'>8YBI@K M=!*90PP9[^M?)!9\KQ5T2N!P3B;1AX"CWREJ@S%5T07JKI $07=BW?9"X(#6 M$'U)5PO8>[U!2N7&](# MA4ZMXTZ)^%1)#"%1MBS=NZRX 4C*8R8%J919YN5#CQ2,/J$:+O:.803AVX MWG_"VYOAU&/WX*RWI;^@X$2DRGX6IY"$[&I6@'8$PQJ-'I>.E/L M>D1@3I2F.37H=.1)L]C7!/J.M^+5=P5NJYV$<7)SQV+$/;%Q$9K*Q%W$Y#O+7 M6R5KZ$$]^6 ,;#\4JFH_1"!N87@/+?A0RL*ON3(8]X"KB!._WVET[F^)<7GJ M^F0UVYG4/K^MOGK"J]C'9TO.(FTE66%.<@1HU*SJ-%+[]K=B/#AC M/+CTJ$*T+*$_ I,IH-O#IBP+0HO(]5ON2# '^<_OF;\#3(SN['9*+%2-"$9M M0T]K)FV,!@A,V)? Y,0C,1Q\()J):F$3U=!QP\8T=6+XJA4[?B?J^,5!F0@E M!C[*5PV*5\'F5\*UA47[2BWR^GS09D>4@"^)EIPF*K=E%8D@UAVJZ;ZKR28,YZ(PMVJ6:N& (;,^8 'D$N#D>T^EGA*^O&[Z'0=\CGGA M[%=BC\K0LC-4)SFSE089F=1L([&L(^P)K<9]X'-&4;(GM4:\/0>!8B_ZHLL$ MQ!?3GG:X;?MLGQ *]!X(E 6UDK#NF(DI^GE@4NEAHE28*\RJ:BV;NDHQ<=W: M&!@B%W[[;OI<;'CN7:C2K258P5Z6)_*TEI)[C>182QD<0A5VA2IIXCB%W")@ M26V5:L/@TCVQK,+$^>2O0]M7%XF93P" A@"@.P&*/$8!(?]]K-\SSK&VD MK:)'G*V_"]MLGBPE"[F^+N.%G#VPIW/'60X4)BQL2Z:25^Q>;(M%_3Q%_57= M_N]CWE@;=2PX)ZOG$SC!V6UYVFK/2O*XE"R:-:IWQX_J"">0#90BKY+DN^KZ M_PPWU'[_K88=5U3758I9UDY8X_R]6=0"DJ)$J\RK=4CQG^J3=BUAJ-+)88DT M#:W75/JV(1C,8-WNX!R!(F]&?[GZR+ A)/@W6])#K:7GD4%0%IL1!NM6EA): M3\BRP-:0[?17Q?'!RIL@5U'_[QHQM1\!5ZT>7!"T)?M.4#SX1#0X(!';T*':MPCSEGV"I<'&CD/AR^ M\*Z_;$9?NC*ZX4TL=8F$$_SZV*0LPP;X<(5V'YH5\?JL'HGU^)O/S/&G;LQ^ M_PW_;#K6+*"Z2 <-G_5*D=>(B]8ZB"#^]RB:9$V4S=(R&RW[0 4=2J/QD,0UG?A?;.LUHL@.0. M%V;[WKC 4GUC!E#O3_H-5\=W)L=AXQ5<]AJT!A70:W*M89P"W]2: KK+[Y#O[S#@/VK8&/^T D\:+EX M5QA8: !.>P)?'P-G8>+<8M&89GK9KC=7H-'^O*63 MK[>72\M:FE.&P?6DF4Z6*4ZA=EN2-$-30Z*4%P(N+>7I.7X7U ?0%]AI*1/W M?K,V:]R:X_MB.NG/Z_?]! =;)IZW'$BYLI.V^A(!VKXB,W4Q/3&@D[_;9[&D M(%^*8T4!(*\;SET&UW%*?K)0EV.LE.AKRGJ>8?L[L)>M*>K>E,5)[#G\_ZQ'+_J)S[]I&-C&I*R2QV[1HC')5 M3^K7S*"A%2:-&K-,V+ IN=N4;\SE;*5Z2+:+8G>.PD4[38&?%"VJ M,J*%P)3R5(OL]_LF[)7>;3IRRR/' D9+KCJ%-D.[K)A.VPWX0#V,(HFUYM98R1- M!,.7E>)TFLE- MATSZJ6^ORPW6L0':&8X 9\:ZP3)7:@D'N65766V&1;\9)U&V+'MO+= MS<#6#R17&'N@[8DM@V>K?P?VV;><^0:.-^]Q%!NZ65FPW#M'&Z_)-ZQ(#6307)@:R M:*Y+#&0179>W*A?$"_-'"W-*^3OO"9>G/DLQW_^ZD6ST($?59(2(3UV3RK(0(Y5$>*"\M9IS7&>>\ MT!/:("?,Q3K0-6B(G8!"-TG/!<#L-$O [7H;/:LX&KHGX44EF??Y&6X0_YP(-K UQA MH5D!(C#G>0#^3U]55WB>]RYIXUJ^,+I-FD63N_=RNE4K$"C-A?[QFR&OR,1N M7848 ,X: +[TB$S$$>)+#\4\AP]F&SX81=&ZTRXI5X8"+EDLR GUQCSS)X7[ M#@$?A6)&2K(^FY.+*7DT+M5 AIRA?#KVQV\Z>95.[H./TXX \8[GHY3HPQI# M%PE\$:Z:GOX#[LS0@"="T-X#8.-*>M(6;)$T M>8WB,B6FW,NW!TI84(5*73',$TNO=T>C#*E8_E2F;M-UK50C);L[4%;E4*BKY#&KH42,K6/I_B:K M)^+B?\:&SNO8P *5O6OWC)R)Y\@4<>_,<-Y$V MF_05RY[3G0RK1XC LN # MK[ !L(&K6F%A$U4?&[;A^6Z8"(R!Q005UXB]OC/U^N)(S\F:.FOQS:^$%[IN MW!/1%5:2NZ^.;MVQ'9R71F:^V![E#;57F370H6ETO29$NK@DW,6(?QSTN5!; MZ-/@(;2;GC1H+5,F[U>FM,7TJ^,2!\$#W==YE4Y0%Q'_J4X (I0]P(SPIH?8 M2SQK+S&. 9V28?0@G(^WL.P!,L=DDK]#PU9ZG.0$DC*RAY13!$ M' JZ+"&/0T&78_Z\#R*2XU)*M=N=(;%L5KS[/"LV[AD$$2B_YRI)'N=J\N^4 M@0)* @>>?VBSYB+A+<)^7QSV.5GK9B.BT&?+&C,#LK"^ K''F^7V71_'+E0( M:+VV$"342?*>H.MWW!P5M8/F3CK.\[D@"2&ZRM(\Q7%_&)L#/W"N/0SVD91QMW M;G.TP[ #2-"UO^?87B:4X%4["P MN0<;VTFZ(?5;)B[S%HY3[5+%Z_3FJ/QO&$-*IXYH5D5,3&*TB&-(%V=/?276 M#"?#QI1H%E2S.%:'](0K-P:%$&N@'<9EW7=!T4L&HFNL@)(%\ G(E< MRO3>N^9B@3]+@8^C41=M/;T'+H09/N8YQC9DOJ.WA-'8&35NPYM3P@@4F3K. M-EQD/(MU! J5((J3C;[(A_SVVVN_KTC1MT_]@FPF*-.O)B#,R)'66W)X3P!* MT9]:!DVG>^%-4-!28J\(-A4'F&)PB%(!HV^G36Q?O0]:@#B?2\*(RPO+.>XM MZT"N5W(#!"VKY*;$'!@]8BJ/P0N-#;&$Q<,@>VAD]L6U/M7J$2-"=9WE3ZD^6"J/@H\?XQN8H[] MA?/>D/XN77CQ=(BEXD2DXEN5Z-D2YI36*J"^=K#S = MJDWXSQ*H[A5F S^VG<]U,_+;E&6$-R5WJ(3]==(Q]]!6YK=-Y<>["8*\"O]E?UP"&]X,/W!->F%*YD.88M"$#/I!K%16_)X'.% M# OKTKLGB_\;0\HE0,KW6AJGA#&O!^:/#4!'/GO\!0#$FRVN2F::'0>NQ= MA3050-01 *$R+?OPYXP2)E:/>$+A.',BWAR-,R?.*'-B#WYNX>)S.*P&/-7C M^EJ?F'8&X_:PK#3N>IQ")M=Y%'2<1Q%#19Q'$>=1_"G0]'CO]A:W4W69SPT* MXTJ!ZGJ9.0*:558%(ZS*F+F/EOFCK,JXJP*](B,ZAE:6!1? M-ZS !SK:_-F<0YVL$B[&T)[QAJH;AQ8NW5_8IA/N 0TW%OB*2#>WX3_*B+H? MJNV@EB!:JM2M+2!1J&Q]K]Q]=H2KMZ@C2%-HX5J_ML5X_5'HOZQ7Z_A9']^^ M:H>,BJP*)X6N2BCUGE++U:85H3L7Y;R>7^BL6.E*RT.'1JCG7HF@NC8DE%<# MKHC&$4+5@S]"//@CQ=S8LI>2D#9Q4^EK195>9FXYA0RKW%[O]49B&(MA[%48 MDXMVW34XZ=;$F[=TBB"6K->N[T8!CH-A3R,PQ\_&^?;5^K) S&&P[2["Y!%D$!?G^SQ!QAT MW'R//\6@3C,75 ?->9D(%L-RZ3Y3-\O]$(/8%0:1[RJL\3,\LWN$]=4 JC&[ M^L2P=70$^*F(O&F=KIH^))*CLU/OQ)=#2_,G8>XK:$JSSTQ3\6J_%>EX4L\'\!_C",0;# MMX8>_OV?[1D\(C2N.9;CWFQ@>&MJPY5 4"$B#P#>;JTEM/ M-)F^IC>'+VX>D)Q&XR&):SKQO]C6:T21'8*.U06^1;2U L MT/=OUC_;?!:" M]\.'CF<@>+EQ@15>ZHIZ?])ON#J^,SGFTCS3O?3C0ORM8D,7 ?R_I"J_#W3> MWL>4PL(&3A_)C(]$XX$SU?=PYU.Z[B.7&L*Z D"JGU2IA*)K=%]ADBI05(9. M*02MTH1&$RJ;2/Y8/?4P5-L!W1,+8]8NQQR%@UAZT'7*7S.R_BK8 MF#]T @^:(M[CV9VSLA76DD=3FL:F4TDEJ9,I*'D]2NEIE*H B@%J3T\ DDP] M85%H@A%Z==$ XW92!K91'Z1R7C:5GB/C\7G+9%\K!'.MVC"I$3V4-6VM$XZ0JTI!4DBD(*>.W9KKCNN*\SN2!EO1E+ST?V4R/?OF<:\EY7K M]P/8D+&%F2[D*WA;P2JO%-[J# F6A/G>(;][?^LU;]5Z5@=\9LURBE>_+ M'&RY.Z=I6O;ONIQ-"WBJ5FE*G41_+*%.=^+VLFI1NL)WL'+;OCNG]IQL:W=0*\B4H=R.4AQHR1KJ='=. MB6*N[2LXWB3X4GTRJ_>G@W)_KK *\;RE5JHF[@$'R@3O5;.XDM6'@]( MMR9 MO9]2&;F5&/9$'M]G:IF\)^>S >IS9_8) M'-3NF-0@3;3J[-U47IA>HEZ'+7=G/^PT68*KW-8$5@=FP6CA7'K5=&?V%5V< M]Q+\?":P=XHRR234U'PX5Y*[LZ_@6L.S9PU:F.*%J3/* 5D,6]+/6]:*RX9I M%L>\J6IMW5G.RAP[0"W9G=G/\JXY,;J,4*4+!;BDS3&M_7J> !;[@PT-:')CE%< M.@+/Y)(E3BL/57L.6^X,--7+V"-\4!N;8$GVZX-EQJQUT=-W!]J[NZWD.=JM M$ZW9N)8=6!5)U3DEO3O0NF$WRO5^LFU.J6YJW'#X<<]97WW]M.4RSXUR;FI< M((J]?C&3#]JB(7*K&W"?(<0@J02]JNL2@.CQC".ZJ9);ARW3.T_7W&&!,?KH MC(3M%\JF!KS1 -THMS/0*LE.V=3 &YBM.8/7FY/[L=,/;ZWX/Y]-\GVG4\T* M+2>HSHUI#>\: U33?(<&_$PRV2)$;]GPG'IN+OJRQ8>W)>S0@)N6^V2JUB/- M<7Y2:WNADUW:- B[B1E."T,36-Q1R\M)D^8M;#I+OK1TLS6IKU IGKY MH"QUDZUYJHZ:[M(@XXR353R7)HA\XY\>P=T?9A4-1U[MT1J#C/@M,; @$1 M05 &$3_]4P5JVZT]+A54(LY9N]LNH:HR\U>963G "J1'>\ P-*,J2U%'."0Q MF8R3>J4VW=5!?G/Z2D3&KBZ,(M/M$0UD6F1:*=W9UC5]PUVL)C-3'%T@6('" M!XD>0J=77@G48^&:5#$:+^7!6+FYI/J45$N(;3 V<3S9UFJ:=]H<>3W62+E9&809:4G9$7_!+O..8$C$T>3U89Y.*%GDVVD5Q"+1=2 M"6UBVM[0H\D*S66"B7,+EJH6T<9J/4KE1C5OZ-%D^V@3Z=.Y.,DT6X)IZ&MF M1A9(./0(#;J+1D=<5W1"*681"Z^6:FH58VC'1@MXQ5CA!,)QD7Q0;?+9^8L[N6_'TE"1Z57IHSP%20GC!;#6MO. MD3EOZ)$DI)!U.Q9G2U[2\V^JDA_6<-]=C25BSH_Y,VZS72%4KX=U">=_HW2G9GD. LRU] M]X'O#? ^>>4T.' C;\<@1\:_9>PFMGTAZFO[7[MEQC.>!^)]M_6!17[P?!T\ MAU[TW[Z+Q0'[]*EK8VMO>"_>#>7&I@[OEJ_AY?CDKM__WM=M MH0-'U87C/R*Z!$47)!'1)7QT23\C'T8*170)#,>(B"YAI L:G2\AI$OJ.1/A M6 CI$N%86.F"X!%=PD>7]#/Z89Y"1)?(KHSHPDB7 MYU0$8Z&D2R*2EQ#2)?-,1.;+Y>CRS=R^3V]= MN$S'/R&]MP=QFN!WOPIQFO MO*["#__O%YKX]<,=2J:?B72@]> SBP]"MD_OZ?C+&_KK'WIJB&)L#OXP-6.B M)HA"K,X9_-2/@L71)_\'F,'FY9S"-)+87[;&V0+8,N'/BJ%'0GC_0GB9.[X+ MIT+SOO:ICOS M=T1G5BC/K,PS>EGHN?"9E5,YTXR19SNOKF%7W#:[7-9W=FD5!\P67D]Q:L0Q MCVYW[MZ; \\8&S)X3TE45R)<*'PGIYGQ8_:\GN_^-JS2D&]BR,__R$3])G[K ML&=S9)P&YN% +WTI=.DK:=UZ>_1'=M;]XVSPDG/K=I;?8BU2FB,SZRO5*?A9-,S_ M[ZZM@OLP C*?;<%WB.\''Q__>X0GYU+^[S?0VY.C6U'V;IB)$O?,1#RWD(^< M,Q$;16STO:T4MUU+;\66N%4^\FV(^^4C53?/QT.1:?$ST^)^V4ME"2XM?$ [P';[\OUF=2 M4F\J&#*7LA3?2J:-U4#Z<2>W[H&7Q9_)B79M<5DVESDM[S)-VYW6E[7R0DK! M-@A>QTC\$NTB?1,A9#(4!)2@X4/494AFQM9:=7\8'V*Q-7A89-+['3'HXMU%LKN],Q^EDHI?1,]!@VJ_?,CCL[FFIK8]EBPK->:X_2F?[!- 7$D2: M)OK)M?OSSJ]?0@5=4,HEC;,MBINZLS3>*A$Z#U$A _0%)/F$IBX%"^$[+(. MA? UVCX'*OCU $.&"D,P)R-C4:F4Y-X_GF:6>3*WP(M9NIKVF:!C C... M]'^?S?47=H8* D 2]ZE7^#FJ(2/X]?6*!+TJ4GIKJE+5GDF-1D)<'=K.956" M5MHF[0(Y0JGN#$L*:S67+JP\^4X"^4ZFGQ(X\8%.<'L1'PW1BLD>O-["15CACYUA=R"* [ZABUE68\^I5K2+FO(L,WRLA MYY7S;*^OGN5M@X//85'6T\]PEM99?*NLX>=Q @VSR:[6$;D24^UV)IFXU9FZ MLY^;=D"W\2W'FFZ:)Y2].CZ8NZ3C)A47PQJ]+(,U2DV234'_#_&$$.G+>7\> M3=(_[%QQ0X+^6;.'6S^%KAQD%%ZWPEUPZ]6+787N6!H/NP-!:L]MTO8 M@P"6_&[R+='HPCG!)<&+[#V]$9_>#2G'0TMQ5>V0BS6JK.B86?6XV M:K-IZ"/"GY#4I:[\(]TNI"%"9W8EA0PN+N]="MF"0\'E(8QC.;,/*NQ4O_:I M>&:_U#<.--Q-&$L5?5?F)^ M7FYTE?-S=TMP.;4AW)-TT'G&(;!M'XOB6_=,) 7'3IU("AZ&XEMW3B0%QTZ@ MQY6"!]2(L. )'K(M\5T;(1:"P W 2V5'N3,SV2BDFZHBBVG:J@X0JAC_N6'Y MWMM@_ .YXF25&ZMB03>ZP,KLBKQMR)8LFC2W/F%Y+E;Y8FNX6$T1K%2=RF.I MR>5R$IOQ6AQ]\G^ Y(MNH2X>8?0:/7" 'H)N M R8.!:1>M)!6X"L/0:;J![K<-0MMN9L4/T:X:@WIXI+#4;215\^=#G]4:"M; M&JZF\40?Z?9A2+HSHJ)DZ4H*,$(O M<"&[O*[S3O1>X"N_87AY)YPO%U]TRZ.DJE"N4&ND2Y--O3^Z<&6/Y7"#",14K.L.TVQ!6OVE?Z"24^JNP1&5&7">4+7+HNC2OOAOD%OO(PU N[ MO$-\RC96/$Z7.$0FM%:O)-/9V>A:Y<)JW0*=Z M= ID/EUG!21$X5?% !_J\ M$U&]L%#$608NB9?&H'=C, -?>:ATFU03E0TUE5U1]FK8<=>5EHV4+FSN*.NL MELWH69;AL$6]OW!=F\Q[YHY7<8Q G_#,,4S<>L"J7E&;Q,MAR1_$7G$E MVNK)\<6"&%H,(C$>$S%%P;3QTNU5;Z 9.HL"5?HQUYA%VN( M%J%#2*NC17T2 T*']RJAR4Y53G-J"EDF7;52K/5YL7/A/HGC88KG^HT5RH@5 M?5'2T'&^L'+@TF#H%)I\2B0_NJ*,+)#[JX(6-4H,3&OXY+OUA:ZKR?6%\\/,U"!7 MB),S$ZEF2')9STS1WD;RA-\+:DH_I1.9$QK#^*8#FZ)6BC/TL! ]A=\:(WZ_.[X&'+EV-WT/8\/&J:N;; MTC&)P](QB?.XNNI(SIRB5;*GY.1AL6X*!"W2/[=?/^O=E;?,@:9,E+PBBH12 MMW..,H.1^+A?ZC^53'RBL=Z+KA<4>@0=''8U\ AA$\GK'I;AKLD6%/\''D%V M-0$(85_*,)V>+#]:CE"F,:7BM$J(!:K=<;(_O^/Y[."K%..3PHK>:,QR7*R- M&4MR'0FGX(0P".O:+K_0\TF8#N\SNP&_<>ZJ M*;IE=&98$\%(M6H-RX.>D/3.7=\C^(6#]_;"MZ)&H5&CT*A1:/!V?VA8(E!O MV*W(33";=(.]1B-!"L9;%@G2G;4KO;(@A4EQ"]+E$\G1G74\#96M>ZD<2+L[ MF-KEHK!4^FY.36MSK:=-?FY#G[.'83ONII:]X=14Q&2;K/5=4J7JP,A.>AF2 MQX46SN?9CL+O;KY':C";=(--4T.%<5JV%B)GVJE0?+I;I MI>2A4?(+:'07$8 ?\LKG+5<3T=5CU(?U>TSUK[.%1MQ%H]8 ,N4_4$&O60A0 M'A835750Z3)]V8FWK;;2%OE+5_N21HHC)WH&T]0;VIS@$@J>:K,H\7XAP"B\ M*VKM&@2^W4GOUW#AVQ\4)[16^=9XTG(35'&$Y^(=JYJI%2Y MPAH]K*N-,^QX2D*X^J@X88184;?88#2RNV@G>T.(]4[T*DTM59P8V*12E0F- ME<5U+_$'T:M?@JJ"OJ%[FJ0UJ#G'-\I&92WQC@.A:ELP,8F>*ICX(-9CU&\V M4&2ZDX:TUW7L_:$R]?7[BB$M-!<$NU)$6UC7T+A67N+7ZE:;6@FZV.LK*M/D M*THN.=NX;MW3L."-!(I>^$HB],&A85"X;K&%[55@[4YZW :J< WHC)Y(I%*, MXDZ8D;8BEFJ"NK!9U\C1A2XSH3M*T;1ZR930&O=D3U?:U8K,(%^J/_ ?"UYW M7(!H/,!ST? _D34@V=;OUQS_*3;X0_;.^Y=Y":[YO<=K',X'1>!%8NS@9[@C1QLZY];Q@TW;PGQ<%2?6 M[^W7=I]Y$+W_4#<]+]AO0P3:&U#6X--?/=>CCJ4O+DF:-VWB M/*1G,QDB,<8$@DVF>)P%APS*CODDSF)H&N$2.([@//;+?^MY=NU(&M_E\-W& M$OM]S37KK4&LW*"I3H.DR\T&6?-AI]S(^5CBKRK7;.2I1I?*@Q^ZS5HY3])4 MODN#?^M4@^XV"SFR6RK4FB%:V';"L<,9QUZF'&L68G#2,3#K?O=JX'\,K!_I M07^5M9@UU6T3Z#OFBQ%R5R?_5FQ2Z!@G<()@.8)+L(EQ(LFFB13!CB M4YF*.W!8['ADKB0V%FP3RS/=07U4+$PV; J7@.YX-'*DU <--#XGE*X^XH9. ML<\4"1*,3+X=V90<5NSUVCR5:TSP4JO;J,U3;39Q_,QJF9]B=7DYI+B:U5D, MA17NU"0VR2)O1Y8IKB1N9&6JN#Q.K:?.(,M@)$L?1V8]EV9'%:K2MQM-63U$)^.!G!D49.+#[4\5*M61C;39]/')M(YNF92,I9;G(QAOM(F(X MM,-FCD?.;3Z#K%U)8MRUK,NY\KHBJL!^1XZ',L2ZDW(58:IQ0J'A^ MH>CQ4+%M]+&9UAHKQ9Z\U)2$E!-&7E.HXZD:ZW$.R0P*2HZG^D9/<3=SPBNA M>31T2&2<=26]GB)%LE/#336/9[(23#$\&NIVV_T4FJ$VR%S%J 6B#M?TQ M- M.EZ6FIS4NQ990*HCQFVFUV-FY$K0F#@:6L"&CK9LL@DJ7NSU1UBR/LN5P- 3 MM */:;J#?-&@B.RHLNPMQ&("RM,)$O2G37=5[M +A1BRZ^2R9"KE=!M85RE@JT0K!:)N4D[%&B3QXZ@D22**8M#/IM*0T7;V M.1HOHFV ZR<@2VZ+6;4RKM 4(:WKD[S)58=S"0X]FNL$3V_R?'MM43;/#3BM MVN=2CC=T-U?/K-_;%;XS!]@4*KY^\L@L._$';,L-^^%>6 ??K4>MEJ)=Z+=T.Y,;"D;4N\AB'SB7?5_][7 M-:8#6_0/?8F +A\6(X[H$@Q=/DO'BN@2$%TB( LG82(@"R==(B +*5WP9_3# M/C818?Z(,-],$_I407Z(*,O/0/S"]S^7WQ9@Q,$/_^]7\M=/MPA_3EXWJ?4K M>_21"YN>&J(8FX,_3,V8J FB$/NCC+I(5")1^8ZHA"B)]T]%Z50Z9B1+]RE+ MG]>K//[W*,!L+T383X4(33ZCJ;L2(M@K^$R1>!'C?,PX]X6^QXGO6[1]8R]]*D(CL<%],MMTB-:%7_9&F<+8#G"G]7GV(I/ MR+*(O Y=T*]BQB:&/H_I"Q&66]&D&(P*7GG537Z?35!"MOBS-6:*$L0.[RS" MGG3R6A^)6#MB[2][L6^3M6])T?/B.7_]TQ"MF.QE\=V,EA8RA@V\S.J_SG>B MA"J=[-*=:_'# GF%S3O5$;=GY:5N;WLP3 MS?*B1%+%@L%JM#!/]@V']:H7$4\(D3Z1-!9)YTU*YW7RXC^[^[WW;-#K%J_\ M4+87:U/M=]M)6EEFW"Z1F2YY4X01]\1%&E*'S=S=ZA5Y<6& S?.($@/$C'%S M'2QBXWUPK\9 4/@6LFTXGTT42COWSA250TD%/ZLB_('4!/) 8$_ G$0:6'6< MFJ:1ZJ;8G)0'W5%_ =.%8 '&)P0];L0>2?U=2_T5.UF&TD?P2 K0#S$#G2VG M')XF763>*\]JEMXS-R@), .H1AF,N(AB%+ 6-!$-0Q2V+I:8Q:W%]!K0N71O'@_@4MK,;ZD^17):&Y-K1>PP$I6U$1@JWU4.FPBK!9]MLHX3)\V M]%%JPJAI1&+34)/!DL=ZS-^1 -^H %]=10F5A-]S.Y$_$'^1Z+9KG4IIILPG M]*)'XGF;DT@@_D I09.?%@Z\#W=-0]=X&*$@PQ@.T3S[G5!HUAN9;$%?[X;0 MHW,ORA /)KV5Y/)6D'U / 5[NC$5C%9[BG")WH(V,^QFF("E68#6@Z;KCYO."JS#S79-:U M@M[K)"18+P[H+XE3=^R1X-ZDX#Z4S^:1[I!^)/;LR$*;^7XRP[@<,Y.(!MK7 M]384>]A(ZU38W/WY:G)33I/$F*S%.-,4+=,+KU%ES@.#>TXCB2RU1PBO>6>] M]YU&$K%V%$-R6:_,+9G=L&T#> ?)\X RX( S1%Z45["6:F2$W[(N?T]&^+W< M&>S4<:""&R)GBGG1_V]9VXE?9R]])Q1RG9GU)&)&R51.8 1SK^\[N%HZ1[4!]B^*I.XHR>6MFV;!N5Z_&R_=E^<-6WQU+Q$9?C=J^$5N MFUM2<';BV/*E$6;E^;)8>Q'%CR"L(SLINUI?KA37K>0I8E%KR^DV[&X'(RN> MD@D\\NG/&4R)X/& M[\_AL]=W'-F:QKC)!.P=9YU1OPG-@B/[+W+\W(U>E+=%6B?WTGH"X/CYU!E5 M!WB!FN>-!=<@2C)1\9KU LTGD[E@4;:0L7HD\9''Y^$]/I_CA>40Z05EQ#=( M/(LXZ2%2& AL&^*%=_^5O#]73\L0%YPL^"&G>I05G>U$K;A]L .]$+Q22^8_ 3,-=S>/&6F]#(5;UJ]&3?,=*6IPZ)>M=ID M%.'S.'!P?84HQ'CQV-K1%['D76>2.RAJ\8VIR,QR%=<']4W2J@L>J,"+,O3. M,WEPPGL'++[OE5U9&/I*AGTTQ^[)SC"1H7EQ0S-HJ G8]13T\A_(-06D'G:# M:FUE/NLR)BQ"'LO'O+,AL(QJZP)G375(3'[>8:FU-8MU3HB2;K M: C)8KA?F M!CF] (MAX'-B(O!UWJVY=$61:SCR/SLU\GHFS=J.];I:;2]0# M&1CDC[V#,C<>_]'0+?&@R8RO?.T+>YWO:B4T6/$@)N9=.XDN$IH8<6CD! E) MH,.Y(PQ#H[MM3?V7PSFR[N];3;_SH/D[,]H[XL+W8C8G4"\\:($$->R.J *5 M4&AQQCNN3'$AI]39K(8AN46S-2-ZLS*I P7:*R*9>DI'5OJCB?^C)Q8\DC'^ MA^"QZ'4IBK4V2R2W,I*C*5H9E',>> #KF[@SXWM73EM8<1H?A6+\&>2%N !) M5$3R=I6AW85N03>V..?$(? M%83\RS;!#[+V]\F*"Y'Q^-#5W1Z\-.2]Z5OO%&@K[P3_58&V=XOKZF8V$JBQJLYS#8EZ1R/13*G').-H(1VX11\+@I IZ?R(GU@] Z"WVI).C M1$]U30=IXIER@EC5%*1-0NSQ T@2F7OJBQ*5B0P<:!]LS2&,1(G*1#X@MP<: M;AI>]@\@DS9D"O?;,I$36>,T/BH3^5!7W@^4SQ*N?8BDXD:DXM'2-<)\@@:: M?)"7H96M"68,-M2*E.,[O0R-HB!NURN_N\YL3O;"FM/GFCV);*C'M2[J!%^7&'XM*65T I 4I++![38#CBE-,DOR1"5 CA+F[NHGOJ MZ)[Z<;@]NJ<.RRD7&O5HZWC?=SU^.@RL!R?AJ1OK2%=^'%TY,BGOQG,/M5OX M?^I%K^T 23=DWA(%^ =2$UY_<#"R!;9/%\H:;XB<*>9%_[_@=]6&5*'6OF[< MX2R1FDQ$WOHH)C^[+G?69HG$*I.MYXHK=L0F&# /O*42.%W%+#OOR++J3 I M-<99L;$(1FE0V=,GL86WGY'A=ZR8U&@EQ=6@'I+KM(3 OFPO=Y-0B.-T6X!O@=[@(6;-%86L ZMJI/*:> M.BIORIFA3A&"6\63*? ,&>AK":_;*/&42J0O5\@K HYP 4<4PA$:[>P-[."L M)E=3FQ0M31![D>_6%[JN)M?2K<).,;]$"JEG(UALBB_@U]. >@3=AE71PP#$_[IBI8L EAX" MA>[%%9=JHK*AIK(KREX-.^ZZTK*1$GFKP#K/,M2\A4X0JKA)*T0A*W9RBL/B M7EU6-/6421_'Y$9H\]AH\Z%B\Z\KU\,(.QP%H 6^..4&=$9/)%(I1G$GS$A; M$4LU007DE/MSK)KRZ9)#MVMMQ:Z+RU7&;<\'!0EB%2R'ACZE">+N7')1<,8# M!F=$H4@1MS\.MT>A2%$HTLGMZ-J+A2K"5"%.C0E 2U!UTS; X^.1!?(X$0!W M'G84KGV(I.)&I.+1XF+"=FR^MT-A*)WAY:[ JAG0LH_)&J_/Q9C%K6^^F4A8 MJDH&KT"?T>$?I :1JE\2>HWK3U?CE#E EKU* M)9NKZ8IBC.,!&X)YN#!FUVNRYP=@67HLI\,OPFXI MX"%7D#(A_ MTS=#6Q23!(()F)L8I),L@F< M3[$98%"SV!B=X%P2'%@<_\M_ZWEV[0CMWN7PW<82^WW-->NM0:SJ[P4L_+5Y,:]AQ,A3^'WO=:G6L:$J?)&^]! M+\/]Y:L,@FD;F49Q$U.TJW92"KW ML\Z%]O: VV>V:+!1;!/\^QOAC[JS'L4C'2 MVUM.^QW+E0=_QQS1 $K?8F'H:V"56*+J?M6,6@#V9),V@M;BE=5*Z:I50^RX MPKQ=MM_ RPIE]BLKEUG**RI3JJBZW'CEBL&^ M893597"0@SEZ+Q--:S^7EFA B )Z5=9M<0;X<6^MQ3&?GQJ<8; 5,T&V4VF% M00C-)N?,0ML4E^U?_YP(A_QW3 =/]WH2-FJQEZUXVAZ-&O_LD_ W^/O?,';; M0^38#HR?8^3;C[9?[7'J5#[QF%ZI_/?VI>'@ &^B+[0\3?T3;,+P(RI5M"N( M(N-&?6Q9;H5F@B-ZH3[2.&KI#BF[9%,K9I9M"BL)$/TXN>#?$ <;-0\K4_\% MJ&A;)MQ>:'WQ7C%+(.8 HCS@Y&+.5%=5-^[3S+3'IBS(G.'N]$L#J*/PMYJ/B4RD.#8G)MY4SL@Z>Y[O@ ??GFE>U55? X! M9^I45(68(!LB;P%* R"IR287JS['NC)\B_D4HZ?@;#)CN6?X<$T$S!3[RYJ* ML:EMCCD_%:1N/OMOVGYI^_H8,#G$&#BYP9;][;'CBC-DW39C_@$8 X>C:9G@ MK(3>)=FOI3K&X<3 8^%WQ#-F+\5%8%0 &_9@QXD#.5 M ;2=_+[_R?XA8/#A0_?[[D_^*08V ,@$."FA;?84 \?S2H0?>BL0P4$);&I5 MA,5I@, \>2N S\"0_S;!ST:,]E;J?83^]V]PMLK6- ;X: &^$[-T[PN'(P^G M?VJR4WDW-W\NYL%D_-?O9@8&&K"(G $V%[P(T%_T_FY..1C0<@ #KUC#XPL9 M<)D-IK"E$_C5^R80#,!T8#(&?.O;[06L [^S?9IGO)NGR BXPP1KGQJZ+4UC MY,*05?_O& :/(ASQ 0SH&@L@:?#(AO,_?AL-IF2(2GW^WM*OX+.J1Y8=_9ZVI'&X;S.OMRCXI@/9^)R%.?!GV1#B"\X .QL MH#3(),>73\GYX<7,#AH@&I 3"( #>!I>'Q$,1R M0U=W&_VT^YHA@AF+Q^,!978 L_LJ?,GG)].3CX)/4+N![["W7L+_O%+Z+VZ8 M9:'UT9R0/*_;,%I<\HV!]TR"+.U6\7$"&S'-1C-.Z[4*M93:-V@29$]97<_0 M.'CMSO5P 8QLVX ]10.0N2."$]ORA-?RQ-.T56L+-D 1C[W2Q ^T3$AD&0S< MZP @.&C.4ZY%118(')@E4"^P%C] .=\RQ,*%?CD8 J? MO%CV4@[\]^JV$2,US08CMN\$+R@ Q6-K^R+QZ@XY_$]E[D/6WF ME1,%!T.!,#LB0 (5#'+@80+GUQ5YV_"JHWD[N:LV C=]+ILF1(F_MK#6I7([ M-/.F(XX-&PH?EMYBPR$&>N]\M827DZSL+U!?R!IX_A.E#OXN+/:*),6C?@-^\S?+HO_6$[*6H2)*M M%U%H@GT_S4P[3I$A[LGS+<=L9?S-H0R/3["K\ B%!R?ON>V]YWEBMBV1N'_1 M[M$36U5?X,,'S3-#I3G5;:@N09IRWCCPI9FM^5:AM\-PCA[7?O.%^^^]0IES MW@E^[Z"$#K&7[?;PP(#+AK/R3P@NEL2@)I[$XXXH*H=;#[#]U9$9 Y8Q@!O1 MA.+E+0]*SW*_O8=RM>6\[U#.4Y,/[V"A3/H3WB,2A(@3W(8_[25N_Y'WO+=^ M(LA-P#J%VC,N[[^ MKK(";"].@>J[N76]B*_!\3CIR*C HL]>,1;^U1T:Q_=VG_GUI[FV7(Y MU10W#=M 7(9HCE.1 MF=6X3550PJ2JPXVXKMEM4F5(8"D?C4S7TN7X2G6:U+R=;T_*JUEV.9' R.3; MD71UV,>3BF53N7XE8> ]K9](.&SB^)F-<3HQ2R(]C+*18;Z1HSNM.-EFDRSR M=J1IU:L#(6WA2#6?TT8K*5<<*R1+'(]49FXS:?$I@:KJ&R>E%S;9H2Z!D4=O M;S=M=KD9YIM4-2O$#6>JX4O' 2./5M1=C5:TB<^*2K,S(RH%/5.9#-MLZOCM MG6:CNL2K99/AEH4N5YH+.&V2;/IXY%)9\\IBD&M2W05", .=+;1$"8P\FJ=$ M&3X]5P> M8QN=@KEA7,OL4?RR7BS28"AZ/'2,TM.<.U\I5''@+-:ZW%TM%&_HT53-)-U: MK QJB533XUIC-74S[$J"0X_F*DUSN:8IS#,*IM4KRWQR5,HP$JPG=30!L=(I MUC+M@<5@MM4K*2.E-MBT610_L:OF2E9KS7I5P=QQC<#STUJ6 W--' ^E5;*I M*\ZHSA!,*46C8[U"]!T6/<%]57K1K@M*34&ZO;J;7143J0X&YGJ"_8#(T5EN M)6R8OC 3:J6!L#1Y!PX]VJQ".\%V %84*"X^6"CSJ3*KM;VAN\VZL'^K*TI0 MD_1U;K],PKNQ!$I=76,MIT#=N!3?6K_=VX,C$?;$O\+5:OC)0:1(>=_[QN9 M%R^J\84S42Y,E*WMX;WXB#Z/3)?/LF,BN@1$EX!1+"),!&0W19<(R$)*E\_R M$B/"_!%AHN)VX4Z#?H_P?U#% QA>\,/_^Y7\]=,-P9^35TB*_C05Y^O9PO34 M$,78'/QANKM-BXH\1G)P'CD(48.!/Y63UVE?I[HQW+B@!%,"*022\WG7C>-_ MCVI+[$4&^ZG(H,EG-'57(@-#(XBD;ZR7]]SKK_8U MM=_75\O^3P3/MRIWH51L;DB\_BK#&#+=-CE-,/_^KLIR=/T3LF*%#=&*F9PJ MFK_OM5SG^=H)AKX*YYW7IOU6\>K7:D3$VA%KA[F>[!E8^P=G4:!E8;=Y26ZL M9>B"S5NW7@TV,*8-O(SDG51_O7CKMD^JOVX#O=A]%LIG21I@DF*0HTMSY1:M+MU>O]EET;(@2[*,SFLR&K&&V6\!KTII[P!'9O M]64?%P@>I9YLL%W5/HDF_6,8*8UH)X.D!F-*GG?1%36N) PI:!A1D%[;( M#E6DIB.]5!.H>1_&XQ, 1C)/Z9-](>_%5-]J3'7. (3T$M!TS<\FN4^[)D0= M-H+V$U_'_/MBK]V0=S@/K;[F"^Z+W&Z!MJ,-A\AZV7<4-YN7E )?M":SGY?[ M/P_03B8KU24*/9HJFN5!O]#/C[JHQ*:\=@#X4QK)1 UX(QCZYLW>E9OPAARG M;E-;? ?$5CF3Q=JC58M:ULWJ(E5Z0JG$^97%8"00YH_#(#0=]B34=GE&?6E!04ID MX4:1!F$(H@G7/D12<2-2$4SX;-3@.21^!O\5S7VA4;^+\_EB1D-#S@>YJ3_W MU=$-Q,=%''I3''KU6X50L?"7LZ7NQS"[>%AH:%8::9D7\FB'*VX[:!\V;(CU MJF5DV1+G_GW>[M9OK]#M;ONVEWI_'$.6+N?Y1-%R%TA?LYK,(,%)"??GMX+[ M>?K=S6NZ:9[P:Z&"2A7R0V%,82MY,F,GF17>\&J1XK_^23[AJ2ATX<' Y:I. M\I"C3YC1)J2M45P@A MKG]^%?DUW*NPO;0XG?;B3+=0V(@#W5;[B%?(':AD^!..G@K;CX#B)H'BH3PV MD7KU#LP4)BM&YBV)1^39A+;%3)LHC,@+PTQ9)08];)#,(1QF3AVL8]?H!0EA M!H8T7"#:,S1VSE;=VK7#%@^:P8GK!>P6%CG0'CL\_\&SA([V(_97Z'2^O?0V M=&V+LULTI1*T2JOI3@>I.L1LQ??JZ+A\;C0%^P:>Y65YK,IUT&PR2IN M4NJX4.A+L+<.3 9Z(I+$$;+^':'-0Z--E QTSIN^BV/5]Q7'][$J3] 5=JK- M;<1%UTV^EN%G6>/G,?/?Q*J&7"MVB!%?0)IS(U4?:T ^4:\/& &Q*D4<.___ MO)A;"))^]#,T"FNSVJ-M3AEEK1>=A<+:[7@)-A> M$&A+J2O\O)ZX NFM:Y]8[0K#.R^R(OTX,J/#O9)C4A+Z]DP.B"CX?; MF I9/!E_51S:O:+5&RG-L9YO$*KIH(LV;)H,%*!,XH)7?1%FW")F1+ZB2._Z M,\0I=(2K[E+LCZ.A#%-KR^ MB62-,US/\][0-;@"0U=5SR3U,?($$$H2-^TMT&Z6$G/-I:A."R15E5B4\'U/ MF9/E42/$N$_$B$K#/*0"=4V\*0YZ%95/JYK2S$E97J(S9&/E0+P!BE?B*8.? M2K4Y4KS^8W& 5?[9#6W8NSY]3L_#NS M34N>N/Y'L@9>;/W&B9>)$UMA)P[T04 AT[^%]4O_Q3B@&&JZ%0-< ]['J<_^ MGE]FA[^PH=]H(7VGDWH[)\U[+K<3I39),"X_R;!,%5U+M3:'S5<]<'2S23#] M_W '(\?S)F\4!95"B-(P76PKAMO6VV!D^NW(>K%+5I2X6J3FICUW4%)(]X/,PUP8CC]Y>-%+8,M6P)E1\9;82KM01%U7X MS*.W2T2M7+&J%1N9=R:YXGI=F<@5$D#?T=N'G+YL\<4"R<3;_23"L7*:T1TV MP2)O1W8:IJF9J>D8P8RXTL]M,E/%=MCD\4BU1<_D8@1''FT=C;#51PZK:*,BZT;B_*ZB;52\.U' M:Y]DLA->J-5,A<#%>=THJ=GJ %8>/9HGQS5'B'W#F]2,L6F9=-7M5-VQ!I,+FLJO/*]H0:L_D9 MK537^EAE;%N(,ZEEFDK28!HB.,L68"*688MG4T*.M(DWZAF\,ME"=D.WQ!@> M@TB#HO^-O:PY9NZ7Z]=5N3 %7M[\LL_'V]B8CD;K$6_VJ>4HC5J&*DZ+#'FA M;;STB;W=9_\)6\V5![H.MS#%W[L?#B<%#]_MA.;<.N[10-LKLG%5G%B'FFW< MV#=:W2K)"/)O./.C7JRHOZ(O>)V2^'/B0Z^3(*]./%P'#YRHNK/;C]WO<:C" M_QX;(J?$'; #_UWHI@QYZ;6&$39I>^> MY?\!Z]K_^T?6#_:<"I(H6W/+>_$1?1Z9+N@S\6%D2$27@.B">EVW(\*$C3 1 MD(63+A&0A90N$9"%DS 1D(63+A&0A90N ,CPB# 7(\SGD24["GW-S+^ELL87 M _%0Q*0=_WMTI&+/Z>LF\? BO$R*."3BD#_AD(\VAYSK M8(4;43A3"$+$"P>\D+INDM"?\@*C 55!/6:&Z-B,!.'/03%$4=U_*BC^-5UL MQ:FV&.%FQ"Z?;!ZOFU9LS)FR&3'+90[9.V(653?-)]@V]N09_,;Z1]XQAE]M M+HKL=_?5XO\3G>RW*GWGW(0]GZ1_*H0)_#E-W)2F^U=9\R')FNJVR6F"^0=U M9[92$;)\Q[S(>R6 8CCZ%(/)%.=H#.6S?LA6>KXT9\\M'K+5!9!-X5^GA:QV M_CMD/QOQ(]:.6#MB[8BU;YFU\5ME[1^H6X'6VS@OY/W^;(HK96T2 M8<_:/$N>]_;,"7J=@>9YDR;;G'@M)K:9W;O2I059XS1>YM2R9EJ -/]M7L MMU+FYY5L"YJVQKE9=J73%69>CV=J&(IV$>?G&9JG$BY.I%8ZLU61U9%$7<$Z M&30UG@SB XIDO2(Z>/()3YZJ:1&!0@0*$2C<$"B QY\$A/T=>4X_F7B],%.\ M3NFS/B-2B\P@KM37J-%FO8(W'CI\D+\3FGT)6!,+US:K]C:D2)SBK4HFA5J3M&)!**XU6D3EGW%?_V#X4\I!/VD0?8A4%TZR.5-'?&? I<[KDI@AFM9J=;IC#OA57)FGE>Q^EZ, M"]M,YM.-1GV.N+GLP*4I,^OD(91E?OV#'NM;I_(S+]NJY),F(*]%[)W E5U" M.O;UV)6K=S#9\?Q!/?RF;<3FIXK@0TXU9=.*Z9.8_-(M /P,&&EL'8Q\BO$^ M%ZINC'GN/L^^E@/_6W&R"C^/ M R:-P[XJSS%Z*L8FG&SXE3C@I-Y_A&S&)%$3#4X%,Q)$2S3FLB8*,=L$Z!*K MB2M1C6%@(0L;K&T,2-\9P) M_@*&;J< WPG;OD 67H&':0+\HW\QN;0Y \PA+H(/X>P]F7\]R3%XG! #G\(G M@CVR_!?"9;Y]S%,,H# _!>\%7X/S7,%G^$,$SC5C"T/6C9BEQ[9?B('W>IO/ M\;P]MU7.$@%P[>0W)@$!-KT)PW($8%&Z=KBM;V@-R;, CX4S>WD>F#J8I@%8 M9KXPQ*D(&&>U[X_X%WSNWUZ= _@MKQXA^(8@3D3 -<*K-HJGN^6\]&JIM :K M*2VJ3'4X,EJ3-C93N[!7RU$GCMHF;^&-33:KN&1FNA9XDF;,DUU=>HUL!>_3 M\[(R=RU=+*AR15M+IWJU<*MENHETV0:3,Q/XK#'K0 M9449HMTLDARR)SNPJ#W,Z-F+]8+AU'5F@=:KF%1LG^K PABK:LE@.W4[6:RDS+ U.I$D@'KV1& MF6 M3G5@T0GP,5\0%"8W+>N;>DK9H#GR5 >6=D.OH_3$1!G.R2D*U2D.-H/VJ0XL MBE5X_)8&;/Z M"G$58Y'/Y)QQIQ62YB@^DB1VR7M^FQ22YX%6!]#2V"_+$^BK=$KI\E-1L%6Q M.=E- \[3K.F"W4?$^N6:KE4\;_-YIJY7W>2*0RL2?=16]W\+$(2.$W^HT(D3PA @8F")* M1-@4,D)$V!060OA]H"-*!-0XX%.E]=*KOLK5Q[4[S9_[PN<,U4>3SV@JV,*' MG]U/[,H ^J8[CCZ=-2\B8@'( M>-J/TV"WC)$1_2_];@+9BKWB"8/2QEEGV@ M"W.9Y<]V"U8(N&'4"Q$C'!7H'T6AO3O>( M6R-N?>7BNQ%N_<&)<>WPV)>)(EPI#,+(R"%$VS*TI>0.<^E'@G"SM1V*5!B+.ID3'1 M(D/H%,9I&6DUJ_R\8MY..WL)UBD:NFENXYA/! \SM4P+ZU-K%2FZ*6F"3-V! M6Y#\>KQHXBF31"Y1<3-H(0XJP^'J4GV=](3/+LFN+?:A2(CZ,23DK=1L@+E= M3FD65-M8=TN,)CC7@X097F]9%-//,]_F,I#":MN%5>GQ)>A&D'<(5VF[1 M;8P(I-^G3$*JL\,9>T6$F[(U3G(3S:622W&Z8DVRC>FDS1)>EOH3FCZ5I'Z/ M"!"D&A3X1EROY&$8'0RWJ3&]@R=N;['NR8U^D9JK[%C.;+A&DKBB$35@IW*/ M[XI5!4/+FUDVUU6E) GP!+8M>$(1XOP*4W#:$:FJNL-IO @WU$LWMB:V"M/5 MO$V[ ^OPFB@8\/7O9;6D\-QMG_"OGCW?_$A/TN1J:I.BI0EB+_+=^D+7U>3Z MYYGB>\$KZ$9^*W;'4/4^2O52_52J8RV2"I%/UKCRR.&-.4P=!%I/ZMC-\_<= M2'*@"DZ81/OZVDZH9?^ZA2C>ZCL#.J,G$JD4H[@39J2MB*6:H/Y 7?E#7,BP M2I;I"%."Z5JK=&O ;8RXX !<(-[#A;MP]F )[P6T;G$OVLO;J(;[M/N"-?," MKUESJ7NO,*XU1&ZC7MO:@2%L##8ZW6%O$Q8M)1O+N7"16_*V@JL13?_IK$!_5ZS+7GQLE;Y')RRT^2)GF59$SX!D\?<-^&/H,*_5<(FOZW20! M:&3N+4Y_T?%8.A9_FQS]_UXE?>\5 UAW2#=^[T[_@Z5M4VLP3Q&0Q+B?4\Y- MP+M_9VH:G,\[[?[>^] H%[/((\X\E_QPY^ACMRM*&PIM'!IKVJ6;3] MVNNR1;L//\EMWU('5@&Z(&G>6/[X@0;#Q:8&1)3_H9NYDS &?]Y)R0G!^?4/ M[96*TB>QG.[5?#+WG,H=YK^_QYVO]_74=NTKKZU&:$Z*)[(-I"B/UZ-I%FOV M"^U3M?E$&Y'KPPZB4NZ:K2Z;;=L558D/B-/ MU>:STRJ3I6<23W%50>(J\Z2^Z)^LS5=I=EKK5&N>H.R&65A71R-LN91.U>93 MBGB1+W=Y2^D/$]GN@-DDLHITJC9?DQ!F7&I6*2-NJUITXU*BP+,G:_/E6@RW MLJANC1B*CFG:O.A*SDI(JW&$I$'&[=CF 4@/T\49NO4%!3"35?ZZ3;7<'* 1= 30XLFM5'56ITAC'73 M51FZ5!JUH5E_-'0I#=7)L%-;44M$P998&DM5P%11_'AHB:AG$&.ZQI'ENLVM M!4'I]!+@J2>(S]H]MZB8HY4BTR:6*!;1]@HNZP3U\ZF2H%3CV0PUKZ_8=;M2 M7!,],/0$J=))*UVN+1-+IMKDLS7$*JC*E(1#CSA%DZNXA)674V4^7&W,C-FV M^TUOZ$'1PZU*L*T]^I'ZL%4+ BT_F'Q=?G"G#'G%9J]?=G"OBVTM+OITC<%> M3YJFUYL5H'54-?$78J&I@Q*VA M3^I_EUMO*L$\JAIX(:=_N+.GPI/:$*(".M>I&KB/P &Z67VGFC5$JSGIB& S M5Z)Y(@NBMB+=CLD6UA1G9_I.;YK&%ISC5P[$GY+$J22(FY?C().GPN/EB H' M/D+AP!^A@A2?EBP7S:^H_IB31U*O)75RI%\\$'_"DUA4._!&38;09I#?6]6< M\*WW)E6G=VJ%G;GVX(] DN#+Y'):D@;4W*KEBZ.\X%)9W7,$2? M"#QQ%S4,7Q7],0YO(N[ .'W4XF8/5+?PQFOV_ B9@&:$-JCT:(-TR34S1-JM MJ;8D_;J%R:<4GHX<37(ID[Y W>6@[:>^;BAQ68LO#)T'&N;]Q$^$R+UTV\K+;=Q(1]SZ\-P: MQ4]$\1,A%+&;E:PK! ?KDL:?,R8O"6S9PHVB*1[_VC*(IPJE#73F:XELPF7='A-0LY%N(;53M M)"JNF6:*A)4/O1L"E#C5L/8><22*IPB1)A;"#;D[Y>W*\13?0J7:"NG4TZW! MDG&1A20D6W556WOU6+W;B53B/KI"OHJH<%[?3MR!I?JHUZY13,7-Q51\"YV4 M^8)PU4D!860150NYG")6FPXL 0T=3YDG)'$J4O_FQ3D*JXC"*D*M^UPJK.); MX%#4ZR5GDJ]82%4Q5V9Q-D\S:Q*"@]_A*(4F[\SQ!)Y9D#79G(I"3-)U(0JL MB*ZJH\"*B%MODENCP(HHL"*$(G:S\A0%5H0CL&*GH16A@O:9#MO#&!TKM&Y-6G0%.G5-B;%^R*Y@8V^-T M!J.+$ZM7S"-,OPW!@8 9V"DT*E,1&1#W=?\9!5:$4X>ZW*@17?0J79S!GJHEII M,%6E;XM(?YK!BQ)$)4]Y0W'D_@(K)J\N)^[ 4'W4>]FJYR7CMJKU8U P>A57/]W2 %9LSE_02'10L[.YS/;M.2)ZW\D M:^#%?A?'KVZP/VYOUF!?WW-NQV")X@3!\6YVS=@SC.\Q>"]36(##B<7 F__# M'8P<28E97HKG1:JOI-22QV M_$S&[*KM=7)N,%713:QFI0GN3APP\NB9"Y>QR5X?Q16BTTAU:X)L]WL.D,NC M9VK$;%512;W#9 I=O@E@E &[-=P]':$V.1T"Q%J2%%KB>4AIK-: O9[.5Y1 MI6G/BWVMC+C5Y!)=0AJLRH^SL+S"T4BYC.(Z)9>65+S*C F4HNENPM31G#R3;Q->[/S14)+2F76GN)PJ6(;/##:3/%]JM*$Z=S34*&=R M@^9*7B*VV*TLLD:^776]@(7CH;C(# N3'LODENAZ9,W4EE[S+NV.AG9[LM+I MK.(EI2JXZ4RKBC>'31(:I$=#^^L)/>Z0Z1F2F[LROY9I#&M)$*Z/ABI-I)FC M:'Q ]8>IP;HP407%\I#]B*>2\C+1X,CFE(K+>;865Y5U22?AT!U3O4+05\=7 MWC8\$ 5RNCW :/W@-&/YT7*$,@WP:%HEQ +5[CC9]MM#BN1YH"M89HMSX3E" M:@+XQ+!%H29S'M@ (S4OF[RJF[8ATN#=657GE>TI-F9;BJFK*:2(4:(:7\^; M*:6D2=38]XD@G>&-I0YC<*A(-W1)]=Q.Q"[Q-8RCZW]AN MP;&%O^(84!IBG+_FF/JR:#__X<*[W^6GHF"K8G/R%3K0\"_')%BMBFO'(JP: MTS2H8JJF]^/3JG0A$LS!H;1K2OS\U0,-^?KIY6DSNR=L%5=>5U5N88J_=S\< M3HH S]Y.:,ZMXQZ)M/WYJ8H3ZS=G6_KN T__]#_9JKK^F /==SL&?K+5K!'D MWW!Q1VV947_17W%&)9[Q#V_1!'EUXN$Z>.!$U9W=ENU^CT.]__?8$#DE[H!- M^N]"-V7(C;\-405LN1+?/'/_=VX,Y-6VQ/^"N9U88CBU2+"0_;]_9"-ASZD@ MJ;#5YKP7'Q'DH0B!/A,?!LQ&A+@6(?#G1$2),% BPJ:0$"+"IK 0 F!3*J+$ M^2CQ^?7ICB1?4UI#XKR[+.Z&_>8$&$7PP__[A?WZJ9PEG]'K9OCQP$03C6]< MDN1%W@O ]&UY''TZ:RA)Q *0!?!PLT"=,_CIA_2_-7@+YLXT"&;_/"CL^-\C MV3X;T(4H9.S;4@"#'&X8]4+$"/C-,T+B)/R]T8C?\[V^VLC4?B-?K?,_MX>I M=PNA%]$7DC\5(!Q[SA#AUA?^*FL^?EA3W38Y33#__H-@4I^O@PZY>GMY=8XB M73XS![VR\Z6%>-Z;H)<30"2L[\B]D;)'$;=&W)JZ&6[]P4EQ7T6Z@E9XKA1, M_+'?/[QY 1_?X-U=C'_8ZG.]B=W)V88!9G$BY!=A;7MBH[T:!-XL]WIPJACKX(#GDR?,Q$R!+;K-G2=!BG M+G 6!ZW DN\E@]Z=F?) 5LE]NR?N]9X]XM9[-)'/JIKJ[HIB;"QJ MXD2.[N9#K#V?^\0(CPY\:T7X=E+3@6EZKRIBO*^T;F8UKNNHE,9@B(SIH\1\ M,2F3;,;K[GRQPGQ!R^+CF+;7=C*'1WKOJ43>3R2[72ZSE:&:22IS%2/G'6LP M(-,.D&R_AC":N3.+]*B&,+<&3]*MJ6C$K"F0?4!E6>/U^?D\R$&KOY':?X]& MZHUK(9Y;B%,+NN%)8!,*( WDK^S)GO?9^Z"E4*-,HDX[=47$NU1.6U1+A6H; MUL^#H7_IB[3B#*$L1_?BT;WX_6DQ?X0,&7N:0K)#)XMP18ZKB7$!'\I>94VH MSR3OZJZ[K)FVP6E\=-<=7LLJ8KC+;+\( OE2&;X'F* M(A:6VJZR):LN>?! P)O94QE"-^OOR-DF8%)X3P/ %[SW#LRN>[6R(K='T(H& M#Z:Y-9)V3'H$"JLX&; M&@LS)K[)VO'_O[TG;4XC6?+[_HH.OYF-F0A@N ]YWT1@"=NR9%U(MNPO1-%= M0$M--^H#A'_]9F95'YQ",H@&]<;;,8+N.O+.K*Q,XTMMJ)=&*!3 -BEMPC:) M1]BE/"LKHA0]L#EU"T0*$/]W;;G,P#[A*S4/7W>KD5AY-MOUZ"8%2P$$BV9Y MB(JMR-4U%O".XU[WUWR:JGY3-[7GB,V3\UO+&Z5_G=^?G%_P^T?K1[U4O&SE MJ,QEKI2J;/+T*5;"(&;QGJUSS.I6UYHK@L<1&&_3"/L]T7+1ZMYW/CST?S;. M?XY'/SJ-NYZ1[:)H 8NLEBK7YD629VRR?UR<.JY]B<7ZS[P^S*;._AT3 X;Y M*,G=&(>/^N#A*EMN._765>G(Z.E@)+?R,/ _+/+D)[MSU_Q29OF;OO;EY_W/ M>W54K%VV\K-/'K6OS]/.N.+=,+UT6?3Z]<(Y&P%1SCSYS?QZ5/Y84T^R?-0X MSK;OQE?5DRX\69I^LJ)_._E6+SS4[@]O7>/^\7/SMMSOMHJS8^:X>G-U_&#D M;AZ8^>%:[65KA1*6G\]./UG_<71XC4./]%U5UG9O_9 M/LR7"^D[=N.E+TN'C\WTS^IAMU69?;)SU/YXV3^K:MGS:N'X\Z7S_;9X<]FJ MSCYY;W_X6K^M-MU[[[9K/U9'.4.['<&3,SLZ'S5S#X_?[FK9='GDW.H?V9U/[^N6ABY?X9J;/GIY^.;YR[KQ[=L>8^E@Y MO:S]I+LZ,X\V#D^/GGS]E'P:>]NE[KO#U5.WBHS-++9S6/]RZKFEDO9^- MFYN;6KG;;M*H,VLUG)N2<]6JU6_8KXN[A[$^NM7QPF%^=@%7O9]?LE\;:>UF M_'#2=+Z/JS6#4X;-S*/C[^5/[5*Z_*M1+IUVW9P. M6_?YKR?'?-"[;WSQZ%%_K1/R8$)T'WDV0YD'S">%][45D>0M]>?#S]S-6:^1 MOC;*_&/C\FKTX7):0 ?W,H]T1S4LQ[/Y-4SPP;#4>RF'VZV;XDG'>V3]<2-] M?WUVJKN?Z^??1N\4#A)[ (.Y(-'7IBAGE-Z4RXK1=:DISRR7BX!-Q2_Y5LWG MFND;U- OT5F%04@?WQ^9-\_/]PY?;B[$VJEQN".A]W4S[35(SJZJY M[.IJCE2P/X*TQ53+,-C X0?^A^BB,"@A%]1GCVE"D>DO*VWPCGO /-?ROR"3 M2GPCK3?Q3,2I9 I+L\$T?3AG< L&[!C6 MR >9_S?%60[:-F?WZ1$ Z?W "Y_#VN;L\5X MFCZPD>"_O^D+5I+I@T&C>HW!3XYKRW#/UA+3?+FG'**_FV:3_E=EJ M3P2M"KG4O*RC7:/][9Q^;H,9GLX?F_WOS %GP 7YEW)!_+++GLT%F,VPIJ/? M-TX(Q9TGA.)<\3?E"2P*.4\ LA( QJ;@]RW.8 MJ3E__T8JJJ#Q;2=2-1X'7'7! 7#9H\+A#]/A*86YL$>NW&2:&:7#0;HQ Z9F MKN=:]ECYO[;]SQS*\==S"%MMVSK,_YD;0X[;Q[4PTTG+!4UWBB)2"D\+%6PX MIUB=57-N!I[-6R4OFSM-?QD.[YO&B=%\>39\RV M6RT[FZ]?7]YZ-R>?ZS^N>U[QKI2]?/?OIJ&UXI%LS* U?&Q6!S_OK@;9DY;# M;\<-*W_3[H+FR\W)89KZXL^U"?5ML_DVDJ7%]4( MW?&@(I4 2"DF=Q,_:OU^U+;/FS9JE\1POV_/EZT*F3!);.6MR837-H-B"(_$Y(:N#0 &+::W=*%\[[!+6*JS2!**DSV#AMV-OS@::#![/$5&Y^YM*[N[+D=DXZ7VYJ%U^^'*;_M!M5<694BVWH1Y3 M"2_'SZ19\W'2MC>>V"[/$@37Y2]=VVY9%S>>X]6U$^/D_(.+M3SHF"A7_?WX MSE-T$Y.HS^]DA$7&?S1M^>'O\N=&[USNY MB_)):5!]R%YBG=G-A]ZW33ZQQ)Q#T0 .FATS2\X\/B35[7/UY\*#=; MA^DZ"H#7#KEOSSZA) K 5M2E-RS'4=(*O'3/9>%?KGJV[ :T\Z[+U@X?MYU. M]?I F)=U$*LD*I1V?^VTO4,,/!&2$P*P/F2Z@ MM?6V1SQ^;5TPV<8# 6+F'?_M6(V:LUFMYO5OZEWMW;KY-OWPRYU-@*!.9M0 M]7G.28KO1JZW# M(@EOK5W,7'W.#M(_N_GO-_TO7PZ'E8_CPJ\\B1D9 BN^?H?&")KQ;H_>&8NO M=!.XWSTHE%<]I'W& >2K='%\8F,K'SX'SP5.47[UK<8!1R]?O6B;$.D&H1J< MV2C3>E,PR>,O/:<.3\[,?C*^:1;8:?8A^_#9/+%[U<9%Q\3^L[G<]*-7XX>2 M_ECH5[(GNJH=?SS^ZHW:W7D-:,<7]=;7PVZE?>-]ZP_X]XY^.;R:VX"6W_VX M^';HU+Q&N61?6W>UTO%U#IO:SBST\K;6.CL];9[?-\6KRDWCVG'G=K5MG7M]T\BGW9NQVS1-\W(PNF"7\[K: M9O4TN_AY4?Y^?]BXNOZE6XW<:07'G-E\3OLZ./O>ZEYG3YR+QND7\^+#3P^+ MF\UNOGO\\+5UEAU^O<^W'W,WM_?'SH_TW%:YS?;#KZRCEV_OF]D'\^[TR_'' MBCZ*M,K=VP>>P.?YT?7?OG&1/:LRP;RO#A[%;CU-7 MU>ID5]6/NLE,56>&HH-C:7MT:_I5&JH& /TP_L ,6 1O]CAW/X':&X FF85M ME_^PBUU>_'Z3OR_\.KDM/]A9:U,=:Y]MS#0Y5Q#*2D$F/0OK'7T)^%_/&BDC M#O8]:.>^;G(J@=T!""A#! $J$,NSYQ^O9O; 1MO2ZJ\1RI9A6".@*$4 %IPD M!XE^<,OS%7 /U),RU549MLZU[!N>01AX$%OO$:6VD6MHF%O6L<^!OASF+22C,.B*AERDESV3@@ M D13TFXY#HA(1%-,$)&(II@@(A%-,4%$(IIB@HA$-,4$$8EHB@DB$M$4$T2 M:%K:=S)!Q/,0\VI,%K<+P.LH;UK,5,JQ>IFP+/;OQYQE??; MW)YJ(;_6AMK+E7/,>&$]5!&O^R+/IHJOS%9[LR0QO[7VK@C%[5P>VALI^?*V M\KE,+MX]L ^9;8]A17LB\1*4/XURS 1)T/UFT)UP^ 90_@IZ;;TLGA@L,358 MGFZP,_O?&59>EQS;9<.=]2W/='=8RB64L"9*H*S A! 20DA$PEHMGETFA3DR M09I$4XRD+E7*9XBL44?H=%OGK MV!02Q.U9GL-,S7EVB9?I=.]MES$X9$Y/@9TH*G[ FP,@!\2UP371\+9WN(U" M#<485!%=1\46D<02ZR*AZRZ44'=:YQVJ%BE_I;*VEGQU^>=3*N8>KKT=JQ[LZ_8!W+POO_BWF M4H7:O':D:S(;M\TNB9A(Q,1KBHF&XP+[NOR\$[RQ6$8M823$#GAK?9-&R8%R_Q^UST^JF7YAU_P!KMWG6_UK0B=="]; M*5W6;W_>]POF??ZPW=OZ55VANC3&MK?-;(GA>5_!4$\&S M/L'S+%/GCM^72J-#IW]S;I>L'[<_'G]H]]VM2)WC]*CPZU-^8&;[I_U!?YB[ M*I9R5#8FOZ+8>7X\Z%6YJ:ZJJ (8J!]BT#9Y23.Z^O?CE[\C$5]VD?X*Q M)NLJ/A(M=@[:EN,X/F]>!:RYFM ZYR?ESWT[-\XVU?+PU\ M]RXNL( 5EN2M MI++EV3KE.WKTE[![PN[[$8]Y*:\W;JO?F=90VS+^\S MKV_3_XF/L[,@E6$_I,-.N3=;CJN\5'A4V,?^7?93S[LO7_:NFI\ZU]]^-M!0 MJ)'P*.3G=9;*CW4QJAY41^,OMWWC<=?%Y?% MJXLOO3I(#XR-K"0^=B]7)@B7#-@8(96DR.QX-'G-WE6L(\:Q<[AB$E^Y$+R\ MFM0[NSVNMLW#6S?+^Y\::KZGN=9=O57!X$HAE2M6W\C9=R(C$AGQ5H(RSQ(0 M]NVON[.JVOO0&/?N;]5/-^:G3T>7("#*;TM )&?4KQ>VB;5(V2E'+":1G&=) MG-,?MY^_#\X''V[RC\<]UFJW*S_379 X-90XV>[:31R,/:SBLR9Z,>XF3:&O^V[;*-%RG23I"./ M*ZZ%?6%T6S$YL]/8K4&.3%=80))K%\QVQ]ZZ#L1$ILP7R50:>[7A,T!J1-CZL\3[^8P+ G(R U7>N=+G);6888X5N;2JZ*3C# MF;L6['A%-QIA*-8EP8N3#2P'QE2^]V!I(_&BT@$5YN "IA9'^T7N"&!7;YD8;/Z5H5R.YW+9EV]9(Z2!F5E\L,#JLU;!&D:7J"$)8P-0"\5&Q MOA[3X"'5LVU:HVYK:4&?2"]MF-CD3H"5!X^A2!8+FKJ+.M$*BV TTF$"-F2ZX>_2$R!H&$9"-)*2:S=>>> ([?(=TY$QTK(]WM*:!9>SJ\!>L1K;H O4"W ML"^-BY%9U^:X5$N0CWQA@%_\L1&KI2HDG2 M9'2WO()= R,?G.HFV%*'A.J/3"55_Y4]ZGVO?\I)/!TRL&KAV\"V*0OU<0:* MM'4SOOQ6_>2EJP#)ZP\C]^&:W5_7W_V;+\U8-0K(8@,^9)1SSY8<;PFL3:*V M#:SOA%S'0!C9*%H'!@C%%1$+XHNW2EXV=YK^,AS>-XT3FU^-M?[EZ6C',9M_ MAL%ZBEP9'E:2-=TQJ,TH<=]30V'G/LZ3[!FY/HN_!A");NN7E$ &QT.ES%LN%'A,8 M=P\_OQJZ]M.[:?33+>OGZ"'_*_WM34?[2,^3).9H3(4'6L5MY'?MS(LX^6K90(Z>6XYQ9 MPAXRW;EJXZCV*?^@-\S'[*=:]R)]\^L^^^%R].[?6F8VYA_JC6-?)0"U6$"$ M?\&_AD<4Y)F>P[&R2K^ONT2-'U&=J9)! ?0W53.]*'8$N:VC'AJAGTPYU+#R HTZ6? M@\/V?;[;;C?2'Z^N+KX /61F[T?[Y$!>"V<@5Z0UZO9 $"DD31V%3(E)N5,@ M]T ((%CC0,A-8SS?6=_MIJ\;#C4 &0L#'COPK9,^*B2$G#P^ABH[2YWCLWH M,R3@C7E-MS_UJOU>*:OE;\Z]3]_'N;O6%[.^I<;0SPL44\/H7%8)@Q-8)$D) MMZU,PN8@".QM:3-+P_\OI[8X1/_ \SRSAB2YB-F%D1'V1X\@Q9?MCO+!@G^4 MOW!+^>S[C_7F!_J8>_^W L:%!Q*DWKRAX=+92DII\BZI%G'BA4/]=6T-@,'R MU>S?!V"I3L"!/A_H+FQ)Q07VP689A\L,7 6PB6 P+

.G![(/')W)?C^5.%';4= M19H%QMC?E2:?-C!>$DP_@/]:&BS@8GJJD8X3X'+:/!PC"@C2!KHK@[A^VQQ? M3Z@]G7<4"R9@K@A"J$#F\'N?W0-X?&HX/#_Z&E #C@.@-#!F@\W@<1Q\0/$0 MMOB7+4]!E;XXO<#9_.T#9#HZ&,9HAS@42F$.O.?@[,$SW"8S#(U?"LZ!6:4R M?]T .#!C5!Y!B Y*SC?^21>"<]SFP!TF#DN.%UH^*-65ND"'(#D1)A-=[@6L M;9^>4WZ8IZ/;CNL[O(.+$)' MTX5M2K%#?Z4"BHZ4TSBZ#5PE.6T1H1!%DTP3;@'7?/J;LQ&,+;C JQS<5J1S MT PNM=\B,]+I@4)\":N5)EDM'$+&!1'I3C(@V*]KY+;7Y*SEYLG+K9&8'I&*%FB1SFZJP9F-^0.]*=,K MG\N@T-E$<[>%]3SSQ3 E0(JV-)JVZ>DF;O\ST9PN2&M(JY9AV0=^Z=[(WF0= MW#SE.71Y6O2^8Q@Z.&#&B(T=N=-*+5/PBP(?!-5_"R1PLYE"Z4\E\AE!,@/1 M/GM,1Z FTRK2!N^X!_(U_SM;=.J37S[1@T^BQ[4&F\3-E)(I1!(TF )""9RW M_UR?'\XSXX6V,-%^,":.6>57[_Z])D,31,(A^H)4L522)EN%/"?A.@]-UOEO'Q)&,P^^8D"TD!Z!ALX_,#_ M$!+1NZ=%)^5AC@E][CR MOJF$N%4 N8J/7>7\H_+Q&/!]>%P_!;/Z[.CXVG_FJM&\.;VF1\XO&E=U_*&Y M(#?FU;,4/GA@PJ.J/0>R&NI\%!NS5%H$>&[,*#X*4WH=IKJ@\,F>YR:\R>FH M%STKRR03RG-!C_T2AA.C/ 3NCND .K3R'6GP:; J^)T\$E !76$#R3C?&",? MFJ?"F+Z#0_D0P2+ ]%)[X,^ITNOD!I@S-OVILC8LS54P2!3U6_%OVHIXTP%# MCV*^L%:02"[:F6#C@7:1)@XEAY"/+4Q*JP.^,9>K!XBZGGRPX]FFCHM*^7/; M8[! +0L\#M>R06G12SW.#+>G$EPCX!#FE_2.@^V-P)<$(/>8C/THSMA!VY1L M8=W$XWSXQ+D!]G*/ 2C#![K,ZXID)1OXRZ!C>3#X#/P*O36@=@$6/ZNA!S;R MB-E!RA+'0Z7_E&G-/@QG/(1=*X0T;EL^I*P!Q@G; "6M+1A643'Y!0)UP5= M"&F]]SDCKT(&*RYL?8C>2Q@_5T[A'^FI77&,&2AUU<7G<[5:*7J2GL%(ES^% M+C,S9E9,CA!2CVFY"CP!%$]LB)3LT _3"X>A3.;ZSJ/-!^ P(8F'V4-2XCLB MPZ0CTXW '^X/A AI,^1H8V_:TZ[TMT,O&4TYV=#YUF +?_+>9C8;S+%@D[W.[K)MC771!+\!/L"]TW MSW$(EAAHP\CZPDF)@F!J>>U,0[@8@Q79"(A+6%(G3*H7"&V8%,$\F@,%)UE@*'JRI50YI'C M&>CE L=X)/E=X0'3UW((30=?W\:\49 :%):D$VB I8/.-<>(!9?1 602RYY8 M@"*,12K)Z M-8M]#9Z3;XZ69ZU16D/:8" ]W(.._LBU><(_XN+X#H2PHB=="/$8:0=LT!+^ M\%M[>+9CDJO..";_^Y]:N5)[_X1/,.,]_I;R?MKU_"AX0.;ZH4V"E#:0]F$J M<$1G[/F$Y*C@!CC*7[Z._P7B"D25#88'F$6& M!TK4ZZ>DV4U.!UB4W;%X39SQX#1,!/-$-K#C2.$IQA:16'P*Q"Z0#+=)XX)K MX7#2JWW_C 2)FS1?D*D\M 6<0'JW,HKQR02Y'@%*8F^S?'Q0U,>3() M\-=-9F.\S+/%F5I;)D DM);0VB)::YA#W;9,-,LI^\!U,6@:Q*=$=%7DH"+Y M<;S6J=.M!$I,5GN RS 76"0U\$?=W@N):U3A8\@?9UYFHZE1/ S"$+7$.D[N@G41P0"0BG:CR0,P5Z0%1HD,I MR*.B-B43UE**PSK<'<._'N6>^:Y*0,:1Z1)*32AU(:6*!#RE:UAM^ >OTUA] M7944BMJ7LC76$!*D;:I3/2("\ J!%,4*PLP+5H MKD"0G1H&\_">3W^ Q=:FCFN%$K'&IF8%9F:ND,PN;A44,5/Z :9E$2:0=2R(E45Z,F(9ERH MXKB0&6 M,,DB,\6Q.B[=&@%;2CBY\IZ,-^C: M3..^G17<.W\/IDVP 'G)F-Q=IAMXGOH^]"@$]?\=+%/FS$7>U\V.S;!.I;@N M$\F?]E-1)DT[O$6AFU@Z3D@*XC\+MZ/<\[$"\VF8ATV%(F<'FC0\P]?")+XY M+XIT]' ^D=5 V=V4Z(>K\E &&2\T@]$[0 )>#1&C)Q-&#E6C'SA^_,A^Z)U MA93J1]2)^8*R!])=H7P_>%"SJ&JP_ZBX74"L2'G]40=$'PH?"(:;=D0RBRET MOOE*]SP#TSD.=[":=/E& ?\0-]BW1-D53B5$L7 $,;458_\6_=;JD:3'G&Z3U>7#RG M&#EAD]%FC0OV)O7X1R%3"2K;B;M?\H=*)AO\L*0Z3T%<2/('I;3SZ1F7O%Z< MF)2JY>D.U=UE-@"2JK92H64LC#WG:B@S9(TI$4D1(%HGH;P ,9/WH>F8DX'' M@,=)ID<5>RC?54:5R 01Q:J5$=:QPLB/;_;3V[)2J#+(C:Z MQ,/$@H.I\%XU/9X*E,D"U$V6XW'Z6'\I@ BM1%3H LV0%I]6'YQN<$H)1,)Q M*BSGAP: [A]]Q1C@R<'2/-N10%<2L;"D\\ L?.XE-S$SDJL,;F& 1!6!%=]* MHZ 3\US+_T)$G.B;B&7Q/'_3J.]=B#">'@C]\GP6<2$#1YE;2 "K5R,*HY^_W4(JN[3M?(*(5T)$+I-;VKX[0<0K(:*:J>831,0 $2":2@DB M8H"(A"-B@HA\II)P1!P0D?"(1RZZIOCIN7'F M8VKX%?0V7"#1=H8^$D;>$41MAI'S+V7D7#:3S>TV(V,&POH8=ZG#&W=Z^!WO M9 MD!:Y4%Q,;/"?Q(3<#3J)C2\89Z'PUQ'FU=DR:]#R'&9JSM^[*RG6X^V%MVH/ M_J.JG'KS^3B*"A?)BHUF]A8FD M_0GT1CUC>%KBO'DTY[+@+JT3RY488'G*CUZ# M=-H.KE>W#/Y8DQ&P"V2]& Z+B+Q02=4JN;5ZU+&FAK4&D/:3)*3<6Z/E'&N* MF HG[(!/?!B]3[6;[LW6S.@MQ[TV:G'%)Z:W#O,K7TT5BY5U6]D)@F.#X'(M MLU8G:KN'.=N)30KS.TY"[=6MK]UABN>;8B #"]E=/N]*B&%]Q% I9DJ[&]!> MG[#2H'I"$:$G5UJS\;YU@MBR/?^JFSV?ZBI/_>(? M!]QTD@!\$H#?P>C#*@9>"938VLWX!+^QP6^ND*DF\?^'W\ZE2V/OIDVTW!#\I"@H@"C3+P[+(6U&*&\U> MW_I6UVP75E+9XEKSGN,0O]I\^'[?R"!767]ZSK:IX+6RW[=."S%*C]\Z+#:; M/Y^JY-88V(T!C\0@TK_?)%/#L,L^G00\-[O>;RP5$PLX#KVK_D^?6 1]/M!= M&$]]/W&-5O\WHP1_1KH&_5'(Y%?I##39V@>?#B)YZ!AMU M45-LTV5='O[@-X;3E%*F^.=OXSZCU,.68*G)3CT+UQ#2(2)N>NB,$DUXBPX0 MOO?;)+N@.U5W_LP.-GT$\=J;0]V(C1GZ?(+NMM1U+""\[(ITM^P@,X-$IRQ[ M@EKE82_!$-@3-,RTOF["[S95MDW[#3]A1,G98]L*A!/. $*(+P M&O9(3"&QCZA+F$.M]+I,E^LT@*)$$RU8".P-J(2 ].#I QPELQR&V,=^,:F' MW/Q'IC"W!]S*#"!%+>\/#&N,Q,L,^%U"K,U-WM%=XH,YQ+YT!W/$0-#M*[*! MY1N5BZ369L$KUK)I^Z+U(3S&VMA[$7\,!8B*DD>N9NDP4QT/A9B@M6=6:%^. M;.<;IAOLX+ZP%$J^.,/Q:5 [2GJZ^O+_3%25#DQ$;$1FV0>^(1W9FZPIE">; ML!+4Y-YG/93*'TIQ+YC""9@>AT%_AH M$S/YVF0?,__+)XIG2_1@>](-XF;*BBM$9"]3>C;O_/?=?Z[/#^?%W(4T7MK6 MF7K' 5T>6M0$S@DL5?;O"N0Y"==YX-J&M?L,M20B\D(5H2$B',X%PB8UV]7R M":$3$1>+):KLH2D:N+.HH2N:,,);;=&4$5L^8J=I\3UU6)W3\G#:BC*7"[K7 M,W&?."&:0-+>.%/'*$XYH$>2&MG:4U\N4,/K-U*ECF92=^G^,M P$501KD0W MA_ 3$44;5#FV*P93"E8[PF:EH8LE-)H_I/\HVBNBG>;0,H:B&:B%]I=EC[$[ M//ZB;3#.C=#@H37@"&S%[+H(^G(20CHUVX2O#TX13A) 7,K#B M#_0ILKHYZ%/OE(=WN2H&EIB%MLZLP[U#D;WN.=#E?)H)ZSR)"4 MX0U#/B?Z;2_:*KU*YOI@ /"675+Q2Q_$V^CCVI2"5O9SC0VE8@/G>SY&$4*- MN(&)J=^OR@"81)^((ZDF'$3)M#+,['DWVF(E4WBC37.$^9_)EN:?Z47>&VRE MAT[MC?9$C3=>$D$64[PD@BR>B"EDLK4$ M+_'#2\(P,44,:/YB@I>-X>69EPB>]/1?&0BOU'=BN?&Y#<2OHPU%Z:5M* JY M5Z&"96THYL!H.YU$GU+H^\@03RK+;>!_<>O<=0B I3HHQCC>-W MFN=FU]4\-S%=8J*38NGB[I!\\3OM"D[33?'OVGONQD M)>[LU@X^MJUT7M>? MC4%QK.CN9^X#'JQ-\L=LIVLL!(,)23';W=8$6,R*=R] ^SK/:1+23DA['TE; M6&$Q0_[Z2/M-XE285S''Z2YYUZ*J:*1(S[ZYR:]42G1Y3O?F][R.*J&O[\+- M+U"V$)<+&Y144H5B/HGT[!E-OTKMQU@2_0MZ]-12U>JZ:GS'('[U:H4<8XG_ M583>6AO8;3MHM:"X[8Z'I(1Q-5$+;U]=]FW97$]68-UF2Y.MN'_;WO[Z)5VN MFJI62NLV[^+,0-NT^&)(4K&R%&((GXT;E[E4;FV5PF,9EHL#%<6+2E82S.OU MN>,7V7L3N<%8MPGFB-8YWK\8RAL)F:S;OMP]F51-%;%]=1(*W"NZ?N/QH.>; M;-54I;*N[H]).' 'Y-Y:NQUO.QSX5G/8IGL\;JAC>]S#'TFT(XD?KE$T%E+9 MZEJ[A<>=?Y+P87PMBQC"9].V:"%5R*_7%HT;\\6 B.)%)"MYZDGP<&^"AQMI M2QZKR,MKJM!MMQ!]I43#K>]S_3*ME"I4UIN8$R<>V*I=N6UBB4NFXM8!L6ES ML90JEK))Z/+MA"YS2>AR]T.7VS*9XA^-V6[PY8V!86O^<;S@D'!%PA4)5^Q& M\# AA^T)R21JN,6M)AF'>Y"9E60<%G*9[#Z%_!;/9-=M:,5LNTEP82/FV%YDFN1JF;5?"8D9WN-S M3ALSN"2I6;]M#>:JF;U.W]MSF1D#5;F'D;9_7-8V^ ;P=^@3JZ#/![H+ ZKOY]1$_K]_]'\SRLS7BNF7 423T>;, MX9I2^Q/^4-P>5SJZ[;C*@\=LE]M8T 8;>2A@6@Z8#0^Z%CWE,# UP?34+4TQ M&+PPYLQ6!K8.RP?0*)K'\=$_0%LH "M#MTRE!R0+0XJIY3A=[#]K]F'WBN,O M%(:XYVY&B08.%>8H#"?$ #_H]0QV5_CSY[A&=-%Z HV3YM\(Y[P#S7\K\@.2^^D:)3/!.1I?(9 M_&:R[_),0Y&<$",K^KM5$*-)@^E%AO?V&G^#=;7T2"?!RW;P KHNX9>$GD6$SQ G)LZ8%3@IBM";*EAY\)7K;$,+D$*_'#"G!+(L4V MAY?GGFH_Y>7'.$*[,T07AY0*MC]VQ>]3AK0PIJ*WV07!S EY MD\L& F=BY_\D=LNN*J18.K<[)%_^.L+L0=L1G*:;XE^W9WD.,S7G[_W128DC MFX0[-^_)QNQ>PE=FZR97#JW^P#*!0)R#M8G]F.UTG24&XH?'K13VV0X8GG7] M:,WE)1+*?B.4O0,WZ]9/VOM\6S+W%A$:ORO2T[O;);=:-,PZ\Z^8[9]__%HW M][<<&%E35X%7V,4&JE,44M7L&IL&Q(R"MQ/FVCY)OU9/@.69_[M18:*:RE;? MU%'*&@].8F4OK23P_BKF_MZG<-6"@HD['HP2IM5AM&3!OGKKV[*X8M@+\'4\ MOT5QJFWO?OW&72U5PC[W3-;01B%CYY(]&2-=N6\5);JPBE M8BI?6&.1VIA1<1($?"43+UZ$_X)(8*V4Q '?2ARP4MNK..!;35L3D<+S)24U MWT3D(PET)('#-08.\VML*A5_YDG"AG$T*]YLV+!:SB5!PR1H8RTG,<']B MAM.%Z_N V+2I6$@2%]],P+*6!"SW(6"Y+7,I_F&8[49=WA@8MG5;-UY@2)@B88HX M7/2-%QSB&39\?7+83O@P7D!(HH7;-9.3!,,]R,1Z\PF&A6QFKT)]"V[=[3") M)LF"SPR]Y7*9]1[3QA;[FZA8'N\87%+J[@V$X&;ZAZ_9R(K9=I.HPB9,L9BE ME[S,.LL7,TF^W]MDASCD\\6+89YO"6;6>P@;,PIY4R7WDOC:FJ4E68K_N*QM M\ T@],YS7+TS%E_I)BS%/2B4P\UAPIV2#?\?MZ9/+((^'^@NC*>^GU/^^/_^ MT?_-*#-?*Z9?]4_1N&ISYG!-*>;^!%-2<7MBVXRH/'K-=;F,)&VS7H8"5 M.6 V/.E:])3#P.H$*U2W-,5@\,*8,UL9V#HL'T"C:![W'X59#%P"C"^FE=^[ MUJAM,1=MUWON9I0KV5[6_WW>0@HI.4:D56ND%:UJP"J0;GL2C'[^3#Z70=AN MHAOMPK+D^>(,!M-*KJ"DI]O,_L]$-]V G=*J95CV@9_O$]F;[ .1)_[J\K1H MULLZ,/D!,T9L[,B=5FJ9()7H($@9*N"">#:F,R9 HLO:F#. M$;>Y\D?95/*'YG*_ =!H,%C1,\8%.8H#(42\B'P!>)FGK#;A*#K 6W *'B% M#\8?P@(L>PR/69JGPF":9Z.W3M-:GNWVIN4:[=VUQY'D*EBWW*)[*FU M.JG(X+.7*Y6 JHA ,D*GQ%_1GWNN85GW&=3ORO$2:DDI3:X"*;ACY4) QE': MW.0=W44P=FRKCS"7@!1< J_VN=IC)MJ! ![U/M#7782TV8?U*XX_KF16,!%! M%.)#(-L"'G8 A_"H#2J=D.G+-L!E!SXM935)J$ ][BS-IYYA5TS3*3ZA E1M M)@A%LIM-!"7(%-\4 Y,0&\,#,%R;=T%%P+KY,A9%UG)H MWTN)91OG,%]@A\ MJ'H(99B1R ))$E@3%P;_J+#ZD0Y\"F"U$< :[R.I&AR@!=O%SP J,,X]@]D M/S87*B,Q%].(YHBC?-G@CQ0R1, &-!$#(R&R& E+7/NJ@2VF>%8P'$<$>SO MA@G;&E^''V!=&H!'5^]AQ:,>-_T!?*)#^0WT: O)8+,10!Y B5H#!"RNH\> M>!R7QOW%M13-XGB# 8P(5*J;#NW8(2N==@*(-6%FVR5DBLU97= 91- :D.!8 MO-/739#A!F&(IA%@0QS!'&0R !5TGT6 MKLC&%7JP)B 'W80);6!B&ZU50)"#WY$&,1W05/8DTV50M#*INHBU-$LQ+=>' M(!85TAP\C.\V5G_[:<7P4AP9' @0>[Z*4].7,7!T. MHA$-?E2+!L=1<5>LV\4]HQ=%'!2RFH*STW!DQ3@+\0D[P"&Y2B-CGF4DEN[K69(ZCDV,0UH2XE7FUSE8'&0:BU.4BB(0^E[SPU22CH(*$1)Q#,,LKU4ZJQPU!, MPT>$78\S;00_.5,VI(YN,9(,@$DJG+9ML8BU/P('%L5)!BA%$*8%[J2.,W+0 M( /B&KE,;1D33P&N#^82JTS0MC\24C^6( MV>BH/?C2A_Q" *#H8R5D!-?1^FOHS^B;H(O$,RK$%EJOGV] M='5$!@[PA[ SHB06G>ZE#!(8'1/;G,<;H-(T 1'B2 Y2F;GDO/DF39L9S$3J M ZI C,\BQ>%=(IRIQ8&NN4Y !"2$08BP"7EK5H> MB%]-+)(,23;0-6&=H%_;#?@L-)Y4T%G(4:@IP0QQ2*/30N=8$M(P-)'WX9N^ M'(> U <6 F2!-=D!Z\8D?4/R'WE\PLQ4<"." MMGV-AAY;7]?2), $4T5"\]NSC2*!CW//)T.2=()-R1 4[(-?D7D9,6,"[P;- MR3;SS7O%]/IM 2445!82F.RA-)3^,;FU4PLGIM8XL!ZN$%[L(Q4+5PT09W9IL& @37=L M;^![1U-C2;!(^Q:;:5;SN#9'0R>T">EU%74">GC( MZ9J.HBBS1M*<.858''\[U4';:6@HX;H.09: UZ]<^7[9NOE%,L><4&ED38MB MHS(@,>?P]1#@CF5-2,2IS.F!OV^-@OCH*GV1 8VY\/CVU46$#X;RJC&90,EB M6&$(1,WE^28$T" P::H030DF#_B^C,;-0-HVL.GYO#59ACP#%P<4("D7J)Q-_]XA@(6 M0+(]X>4_/4VX"1>E%+IO(!%0<$K'!3";43Z#N0!_I624*.U::1DO\F-+3T,- MN3VJ--$D['2$#@L]D,"S7P5KZQ06D;/3%Y[I[N"A6#$Y%$L.Q;9\*+:Z*D!; M$3TF$@T@^X:Z)DXEYLF&T(4G$]H% (,%":OI.8$='9YFP"!_Y#+%X-1KRK-? M.D[!MZJO17"+T*K/B*(JA8J-U <./_ _ MO%\#1?IB*80]<0*A"]>0-M@8],$!.<+S,!@A'9^[!5E/IOO*Y!6JOOE/](?? MVL-4[@PM#Y:_)*>H.I,>\[__J94KM??3:3E3.30S7/E;=NG3+%U7_BA$#F*C ME#436Y QP%3 ]3.)- DY)>0$NFTN.:$( M_4$Y&00&QY4C+.L_'0)?1#&602 MVUSE^A 1#'^ .S=@NH:?V)B^(VO0M( 6V*,8D,XK5-O#4(M/OOA4C$@XFY!P MW$@X(A#]<")23QCI)C(4R29"QS\5$0^CDDC/CBM"WC(VEQ+'O^0@69T.^#7( M$#(T*T.P01Q/!H ,"Z"")T\F.CC@.,!4F<54/=\.%36JI=6V-=LK$HV(N)(C MR[XG1UF&2="Q$R>Y$T%18= @5%;RY92ZHS@]:V3BN8DU$M$L(7%\@2,A+JPM M#0^49?*$YSHNX!)'I F.@ HP%BB>+.12(J(-2/G*P#E6Y#=%<5!*0LZ/68?V MV4SH?58*3KKCH0N.PHBK(N1F3Z574C!0G,O*N&Y&^6C9O@=,CX(+#T8X%T> MXAC%-R'G;BU/LT[LK2##H8X 9^:Y-J6@&Z0)Z>"ADZ *Y\(7BN1X,<^U_"^$ MUT7?3#AGD8QD^4QVQLER;7]AK9$I+K\-&V"PR/L8XD#!]S][_ MFQ+U#X0K"^2N/>E"1C1&\"AK.Y;AN?PUO,DGZ@:4Z04S", E>0KS4,J4$+S'$2\(O\<1+HF!BBIB$8>*)ET3!;!0O MSRU \I1#N8_E-YX2#1L^I%Z1%%Z_#,.KEY]:!2[+TGEFHD1KKPS(ZV2<#S] MWTUV\]EI^L%COH18-D(L0MSN%ZT4$EI)!$M"+(E@63>M%-=BU\6K>-W,-?FU M\4+,-KK64K9;+\VY C472PH:W@D^5Y-4L4=G<:_1^9;Z5ST/\87*7B/^S?%Q M80J=NWJ7(7F JCL'F0GE_$+4UI1XSE.;V!Z7[ MS7O3+M->N/@3M5%0:=\FMN2>^ ;%-4N6?<7GKO@&^XW.Q,=_+:,O9HA_TXN@"D#^,'T:[=2B<*%Q3NIG.54Z4Z8.U*\$T;7 M=$?U'-D58J6Z^U1VG[6M(4_N2[]?QWWIXM(&LLEM@^1V3H*7Y#I;[!&3,$P\ M\9)<9XLG7A)^B2=>$@434\0D#!-/O"0*)IYXR2;\LDF\//\T;KFCOX\1[UCF MH6__6F$L\P*2VZ=Q(Y,X)B4D]]AC12*))$G())$D:S6+=YM$7F:5[M'-N"-Y M7GSL'Z8F-_N3"[BK 2RYV9]Z=9R>5'W;O;*BVYCI0>X&I.![/5->L]792)NX7[^4J"?/M!O/ELM7U&BD[ MR7U[$>%)ZEWLK6-8JR6.X1XYAK7]]O.3 ,]K^20Q0_Q;X^/JVL3R'@9X8E7V M8WF]"%LD(BW6X/9MSI0]3]IR@8@<6HL!S^A26VQAPG)$;XXQR MY-FXA.5OIY1OS.CI\.J Z9K"%).[L(YJL X@'F[3( /;ZNN.@U4^3,OERE]_ ME#+YX#D8#TC-<92V9=O6"&9V:&5_E#/9V8=PNG$?(U]_K[;0POR%YB*#+UMI M.;*CA2NMS'MH8J5-6-89CEC#\B@6(!.,9" 8ARSDB+G\43>9J>J Y:8+7]#[ MHB#(JY-O=I9Z5Z2,$8?=JQS(29/ ,""&-$;\H*NQ;=W#3 MEFF,$7^RH!#\H3*GIV@Z%MLQ-0# TGEIBF-3^P(LH4.E8M@"EY^@F=Z@H$I8AL@&?'KP\\;!@),>U=:KI)+ZPQ:<,/F2PS/9X :8$S.3^"1QZ'^$,SPP8@#B$%6P;!#NH !76)RIC M 5&#?42UG*3*E /!;L)Q )*SD H9 M)?XY*5L8[0 W_I?PL@=L#TF&O6I> 9_R$R)$"&6+:;!D'11\+$PF;B#X1,&^0C,AQ* M+,_&&FQAX3=DRODSZ&1LDEB)"%S+%H76B.X]9.B@82 UU+O:6G^VF2M,YJ% M#*A03H5L\A=((B'0N/9WBACT+WTH1S!0@ ),6*<#1CUH,^#FCPA5X#V>=JTT M_DOZ?(3ZDG8XL>E49+,PSD*0XLY\R805W-H@U$CR9"*7G2.7N56#,QO]I9Y? M,DWF6N9S&23#3=SG7NCUY8N^7Q00>UK)E93T]$7M_YFXCQZX<5@ZSK(/_.30 MR-[D/?@\^75=GA;7W5D')C]@Q@B\2KG32BT3I"@?!/FE!6+!;*90^E.)?$:0 MS$ 4R])%H#91=DZ^-EEYSO_RB6OW$CVN-=@D;J;$3B'$Q/\Q!6S0SG_?_>?Z M_'"Q-#8MN\^,"6DLOWKW[S59H, U8.>Y44'\#_MW!?*'VT']+27D^(RZF%A*8>@,PPE5A0J&GWB=[7!H& MH1X(% 0(L_ID/4N85[H,3J1FI+0(R5K!L?ML'%B)8G"'\WN4;S;3L72G)LPP M-,E\> )DIW&A0P'T\I3Z=5):0G^K3I,(4@=WCZ#E2UJ^ E.%_@"US/%?L^?%4_EP:Q0@G) M"#"@;GL2K8"@!I^M&J!')00">O@]!CS0& MX(EXGI;MNQV^ IY0\*1F&2T%?W.\-LRH@_+C,7( OZ.O8^@ -+%8X@9A!;E^ M"=O0O0"BZ7)"$U5OI8>!L'I ,RDLUSKBH/:9,+R8"/R1>]RF^J^P*I00AN^C MF-V4,!3:P#(>V!2JCJA#PN3DED2?E+6*DX :S3\@R- &<9'*PIYDI!X#N/?Q.L4.<(O@7@ ][% M]#( @WOO@+@67XY!1Z%W)BH"(Z[(094#2[KZ/NHD9E5_*TP;D.AW7$AT7^?.@1#%[8!#_L@4?11DE.]<$M@B"T',)$ L M!0X;P"2/9!0 P?V1CX2%)WR40!3Q1UV$^X&AP;4@BN\+\8$Q'^B#Z2/SA(!VFHE0D[.-K7.V98.UWT8+HV"RP W8%Z4WT,C%\[F,7MMVU M65]$">O3Z N-J%*^D"H7*R+*C5QP--YJ?S@90CH\M3Y2*!X:TQ>]DT9%! M9G 7@Z"@>/2!;V>"[)ID]76B8(6HV6(,7'%51%%45/C(ST!))GQ6A9J=BIC% MA&Z"XX9<=LOG#;\%_$/4?.!33H ?71:@[W@ 'OW[61:+<-83Y[1D%\LC6A]3 MZI)=8P<$!\-'I/*_DD.&.",X5-X[RI&P(/W#A3K8SV,,;\*$(:H/_5 _/7,5 MG@RP(_CR5?[6*Y5PE MEY>OK)$3HG0_$20CNHH26OHIU1"%%MCQ X.-#W33 &\XW39 ^\T<,LA87WXP MY];V&MA[3@Q,GBH@L 6[*H6,.%4@#$;AKP "E @&E*/CYN'I>?/FJM%4ZA_. M;ZZ5K_6KD\:UAA8^,)[Y@;UHR:"_L-<56W?NA0\3$0 ZQGHY\#]Z MR/)L+-+8!*U'"IBLJ*F%IHQ,N**"3LW5T!?,=@5FCE/*,8A_\4>E/B%=%?PW MGWU_Z3&01JZ(V>%P\(7A_XV"Q[ <#$K5VY9'IARN\0K62._#.(ME"AV0,\.Q M(EYO=2:*58XH#,4D.=@#.H=/=P1K#6P[VR L;1]*1X'8,',J:?1 M!TK"\#0\;H5I43X;>E\7(;;4PI=6P<=(J,,H6GR<_ Y*$/P 4;"!O;XGTJR$ MC]OO>R9F=8BI4#_T S,X);?I!]A!N8*&&%!T!U L,T$ZH'%M08D3SX2Y,/*9 M%"X2T.*@00S_XJ;IL!Q A_E"'7 #98P2"01#1# :!O?PU-O + +$K$%=WG1' MAL21:OM,0[!TF:V)Z*@$7LB'(HLAW)IP%<1)$J;]PHI]AF^JENLJAQGE"]"H MC)=> /ITR@#"?1[V=-X!TO9A<.[OCWR$_EC9V7/R&_P$2D:[3P/&B59:!/ MY6]!+HKVBO+4/XL.%Q&C(.TRT^S8E(>8TA13SH>@>T(D"_\'T(<6V8S,)Y/" M&>#ALQ_L!E<2&$5W>G3>3(=%PH83Y\^@2!!>NC^MA+:"C2\B"L[VIWV)6=<) MS#H6'+T$ED)[3%HS5.2.-\!354=\/R6D.T?@?NM2!$Y&!:T-5H V01A$B+\P@=D*47#U012@TNX2#O0 MD6=006!QBAN1VZWT]_2*;UR$W$;ZC!@4UY &3Q(,UX.._LBU>3P;40"^ MCA8,.GGK6CQ&3/WNG^@/O[6'J< M8"T8%/1&]R?,N!&$B'$#J<(#309LQUTG%5@%,Y? $D)]ZX2Z3%83?4X2&GFM MPF%'_>??'*!S?- "Z)JN(JCGB.1/]?I%2DI[.@-5N3Z0I[03>0;B\@C*:?(( MZ2+,G/'\4VLVP1%3ZBNBV.#/&/%)-N&3W>&3T*;!9NM 6T3Z=AC(<'G0J9WA M!=D MV%DXEW$,[AZ&AS_/=":6GTR+!-15W00MO)OIWVH3X=#IA"M$*DWI(S.2GT7P"EE>8 L+1V-,=X7=(UWY.7J?(V]3" MK#)T^2G/1=[DCM1 F+P@GHDR7+O#>(7E"JV:UBZWBFJ^TJJIA6*KK+5S'3"1 MV\5R>R8'HMQX[ %3NT"MN7RM6%@KM2X@SL5 71.]B@EPUEC2;SE*OLN3#B1R M,L$]\676$JN[2F]/ZVK)Y?N."W>E3WUH.KE>J])HC9$F*JU4RU MN @S2C93K@4UQ/!C@JOGXRHL0[MQR1>C/E:S1_5/'MP&V;!G5B;2PFK]#KX>(B@X5GK/,F<#K;C+2 D,TO[HA^FH,GT\8/F%X M9/A\PO!O@.'SB89/&!X9/I]H^+? \+EL+G-\UDQX/H8\?TRG70C\(&+*LYL,.#,]N\/4MX3$Q=#CIC+E(]X M@;#-589)9KKKB"E=UI772/IMKFF35RRC:_/GRR0,^SH,VSS\G#!LS!GVFCU: MIM4?*PVLY4=G_4VUQ_LL89+789+#^FG")+O')(?,4/&".GX^URQSA35,]X9@M<,QI_4/",;O',:>LS8V$65Z962ZN&F^26?KP MIL%?EUE>RAD7HB#F_MA?N6SQ31)=["0T!GKIKMD%ZW(_EV=>(.HO40S+%=>( M]0B]^E6965A8(Y(9!"+F[XTV-%US+N&K+"J:2?6\2STE7JWE6"W;JFK58JM8 M*19;-9;56FJGF"W7:F45OMGLA9-/9_5KK/89F]M:%Y[M8.%=_Y+61*M-62/KR?J5^- 5[^H.)A6[5%%,\ZC/ MJFA@7BQF"M4$[.L#^]-A@.<)]YWPJ%<7G*]_B4BL&RP W,Q_W^7? MK<06EEI"ZUN@]=_9SLZQ0.#BBX)KRV_"_14Z M'7\G5)I0:0QWMP.$>,1P4/U.,48BH6/.)AO>T21+Q>!N=<)+"2_MZ(Z>C#EM8$LO MZ8>2,%7"5#NSHVTPU3Y[0@D_)?R4\%,,]I;P4Q)G>$&5$%B[K(&#.!A-=*O=_V+:?IJO.KIMY,)ICGXG!A M:_6M;'OQ^T .+X?A+MY;J*WWWD(T@5E>&9A(89[\#JV,@A"1T]<=AI:NS;_M M$%QG^*=M:6/XI^?VC7__'U!+ P04 " #R@:=8-"W];[,( #7,P %P M &-I>"TR,#(T,#,S,7AE>#,Q9#$N:'1M[5MK<]NZ$?TKJ#(WB6315INU'B 1-U"3!"X"2U5_?LP I4;+<. \[ M!:FC/_5Z9T7*BTC$["_C=[^S6$55+@K+(BVX1>E,VI2-55GR@KT36LLL8V^T MC"\$8\-!_T5_N'O0'_1ZQT=HZZ2NI(J0'00O@]W![CX;[(;#PW!OP#Z^8\\_ MCT]VG/'IAY/QOSZ>^5X_?G[S^_D)Z_2"X!][)T%P.C[U-_;[@R$;:UX8::4J M>!8$9^\[K)-:6X9!,)O-^K.]OM(7P?A3D-H\VP\RI8SHQS;N'!]1"?X*'A\? MY<)R%J5<&V%?=3Z/W_8.86&ES<3Q4=#\][83%<^/CV(Y9<;.,_&JDW-](8N> M524&4MH1:@:XO69SU9O)V*;A<##X;53R.);%12\3B0T/^H>'RR(M+])%F?)# M"[7(N)5306VW6HTRP74X438=K7>PJ6;9U$M487L)SV4V#Y^-92X,>R]F[)/* M>?&LZTOPWP@MDVIG$C+]H;]X5$PP:25=^!B!+P*_:T^GIQ]&I^_/3]Y/3[_ M\/[NG/QW9:Q,YO_#R_,N^WNDK&4G??97CF:[+!*:*C&;FY%%S70_#U^A%*LMX:438?!A]U_AJ6@"=5N4AC6748HJ; M ?*WE_&YJFR8R"L1;YJ4%JJ]HV&]<%;C-_XA:S&EN8QX5G?MO("7HUDJK>C1 ME(FP4#/-R\:=0]2JI[;V9[B#G2)NN[1Z_XCZ_"'>^DMJ"$[IG&>C-G3K(F"& MI7PJF!93*6;8>&TJ#?NCXAJ$R.8H+Y6VV([96]3 ?MW[&U,).U%Y^4]V3JPI MN-]7<17U1T-"04F@ 2X+QHLYJPJK*P%/(1.P^&4H(EL@!H"?]+D';!)YCCMF[=ET5"[=&>CL]15L5H$T1H(;(+$DD*#B5P M3!0D:D+4+SA6P]NL=0T:QTYO=LFBRF 8BF@WW5GG#\1-RE+,C4S#>NTN)#& M0L%;QJG0^PTONRWRF,:9:]X^4/X,?G7Z[&\;?<8K6'OZ9._/(U/3HU;1M'^K M))&X=!@\9UP+AW:@5Q*6@$HF#"V4-"F9DUF.V$7QBZYC::),F0KU**IIE7G8 MEUHA@T:Q8<^!\EB -A[*9U=(.0LDRZ\1,#Y5&2R&>[PW/'@N=ES5X4'\],GA M[G X4J62 MT^)7&:>PC6$Y)Y;*$S6\CFW+;WR:"#)$9$5]P/IA1M+_<\Y.MINSMPY4UZA[ M^Q!W:P:#]5,9$S&Y487#-#<@-25\Q%:NXX8YX++D$YE).R>ANJE;VD<"$*Z.4,-,8=4=+^0"9(BZG+ MIT^&+P:C$OR.9(GX_4C9ATC9:-LH>S;E6>5B$>%9) FR.SD%$LV&+,V)T9?0 MSK>(K?YR<^+F&(J*B(O&IX<3+/W-'MPF^O.%M:#<-_GR\0N;-%FUVW2$GPGX M,Z+&'R:][CJWW&YVQ=O&KE,/W.L$H//..AMS=S:R["O"( E3%465)IBW5."& M5G-E+,KIP1C:,ICRYJ$ >WY#E01\18!:LZX=C\ B=U1+I[A%M?!KQWN5QB)CU%4+Z6OI9.\:1@%JES4*YN@(TF.?26N$(?*W2 M1$$5TYU8PB]7_3E8BZ!J*&CC/R7 S58C_J@DW';;2E5$Y/S.XWG1KQIJM^Z\ MZ'6&K O#D2 <'5G2P6%H:,0BG-W T3KG1 70#H%KH&Y-E0-KF!,WE%I$;'RT\RA> M'RBCMNXTYS4T:J(1*+K MW"1#0QQ#[UK*G6]Q)/%5&5303JOX!?ULWM=!T.1 MEYF:"]R=I5)4NDFJ]DD;L5\W_4+])=Z^-"+ MB+18 $%#9O>6(Z^L:@K\.XZN9.5-R,&2%+4-E;38W6%N=E]U_&M]UQB^QD._ MK]S,PKW^\."W]IRM,>X.UN3-W+^KMT;UKW1\_["_V^QU"T%27C'W9($]&;B? M^QU88(*U5Q1O,4ZW1S8C>K%WSVOQ+?Q8;B\/#7G7XT?[7=>O&?Z/@:W;A'\N M9A_Q^E#P>H_PO-=!?M1(/6)1OV)QDDJ1L+,K$55T!,X^^-.#7QR8C4[[D4KL M^]USSOB_J5YH(1Y=7FA5%3'I(:7#9MMJ?1-C]4:MBDAL9K(0O?IZL**-_+<] M5L312M'BJR4EY'5O@ASSLL<3"*"03Y6,ZY4_!'SW%]NK+QLXB>N_LN*^ W/\ M7U!+ P04 " #R@:=8CJE5PQL) !>.@ %P &-I>"TR,#(T,#,S,7AE M>#,Q9#(N:'1M[5MM4]NX%OXKNNEL"S-)G!=H68?2<(RO'?^MTSHN,%C%+R&_C M][^31,95S@I#8L6H@=(9-QD9R[*D!7G/E.)"D#>*)Q-&2+_7?=GM#PZ[O4[G MY!C:.O.59!&2P^!5,.@-#DAO$/:/PL&OY--[LO=E?+9OC=]^/!O_Y].YZ_73 MES>_7YR15B<(_C4\"X*WX[?NQD&WUR=C10O-#9<%%4%P_J%%6IDQ91@$L]FL M.QMVI9H$X\]!9G)Q$ @I->LF)FF='&,)_&4T.3G.F:$DSJC2S+QN?1F_ZQR! MA>%&L)/CH/[O;".9S$^.$SXEVLP%>]W*J9KPHF-D&0Y[I1E!S0!NK]E<=68\ M,5G8[_5^&94T27@QZ0B6FO"P>W2T+%)\DBW*I!M:J)B@AD\9MMUH-1:,JC"2 M)ANM=["I9EG72V5A.BG-N9B'+\8\9YI\8#/R6>:T>-%V)?!?,\73%R-KK?G_ M�-PS/LRG2HX!-H''T=N?&'<(_@;W_@/F"/T4J/,V;'%DF1P,WSJXQ'W)!A MOSLX#B*8M/(!7(P!KTS=U<>S\\_CBW<79Z?CBX\?'L[)_U;:\'3^)UY>M,EI M/B>G7?(/FJ=2)6T2,X65B,FH":U?AD:"D0CN,O6ZU6N!B1 >5XMK7=*XOO;# M<#4ZL12"EIJ%]8?1-XW/TP+0:60>XEA&#:;8&4!_.X+.967"E%^Q9-.D-%#M M' W]@S,*?I-[>193G,N8"M^U]0*\',TR;E@'IXR%A9PI6M;N'$$M/[7>G_X^ MK!1)TZ75^\?8Y[UXZRZQ(7!*Y52,FM#U18 9DM$I(XI-.9O!PFLRKLD?%55 M"#&'\E(J \LQ>0['XFZP:[A[0[65>0(+UB5X+Q@$!&T'/P^Z1$+'A81( AJ@O""TF).J M,*IBX"F$"3;, #12DL.5X@#"E,90I(C,032,=';7# H6,ZVIFJ-)3B\9]-MH M4T-9 LY EP*]QC[0(.8*8ALP@VA'@R?PN D\A#@CNL(_R_HSIIAO! >0MAOD MT;4SU[Q]I/SI_>ST.=@U^HQ7L/;\V?#7D?;T\%$TKM\R33E<6@Q>$*J813N@ MER.6 )6$:7Q07&=HCF8Y:!?J%UXG7,="Z@KJH:HI*1SL2R4A@X9B3?8 Y0D# MVC@HGU]!REE LGP*@O&Y$F#1'])._W"/[=NJ_)":UB!+ZV2='C^< ML737&/N6:1@,H->&7U^G5ALCPYA6>OLJ&*)%#&CB>W)!GZP4- #*,^7:ZAE8 ML<*V@XGV4@F;:NHV68!W/NI;H#K!^GCO[%.1OM-F>W%JMKU-U>YK9F,+!^RA,D)M6RL)BF&DB- MZ1ZRE:JD9@YPF=.("V[F&*9NZA;7$4LRRQ^W!*R8-M)%&S9<^0&5E2J!O]J& MU7$,T+,.V,1QP@J(E@70&.ZP$M<'-(&D&+M\_JS_LC0MM=9>;TS;+4*@(NJA= MTFDMMH!Q?BT%;&J:\?B5 M]FZHD@)?0:#6K+WC,;#(;M3B'FY1+?S:=UYE5"]"9I0VRV^66,VW\^'U>$X$ MOV3"[]JNV;>_>8J^PNG'GKW^]#M*A[M&[;OL*-FW<4F])K27 H1ZV.3E4HN0 M6;<(I*^EG]XQ"@FHD4HO(E=; WF.3>&60)?JQ1)B(KQ3L+!+UM]#U@+HJI1 MM.$_)L#U4L/^J#BX;9>5JHC1^?VG_:*?56IW;K_H5$#6!$"D W>\+#!K@:HEM=Y8 UF!,[%!]$;'RQ\Q2\/E)&[=QNSBG$J*D"H6@# MOIE5-F"(?>7MJ=1V(1XOIE),&<9Y!9WX-_?*BR'+2R'G#.[.,ND4D*X0%8BU M,0BVG-B:@MUO4YK[.="U/+VU_KR:0("LN&.A /D!3&1(R'LZ)Z_:!,]#+H9Q M;Z?,;G8*M\?&HZ8;#2G>:C%P7;^$_C*'*#R9B,\/<%'S MVQY[I)61=8$[]&A+5HY&]I8\\398TB!\BUC.O6ZY80EOMBN)[*^M@\ZC$ 5+CLSF+6O'NAL+(4+ M4QII*2K#5H;]\/!H&.(2MQU8')W\W]7E[,]F_>"H.SQXFO;O,.U6EA9S/OB! MEGZ]KS.?\HK85YCD6<_^?-]A M!#I8.PF]Q:AN@?H=4=U' JH[#^TN +1QVX]%WQ/R_EK(^ZY#.K]B<85*2?[) M8T8^*:9YPOSYJ[.,LY2\6Z0^']W6XA,$GR!XCT/:^^1.& # KD%M_R?'6KUA M\'VV!.X0:&:+S#:B\>5$R:I(, N7*JS%L/&%P-4;/H+'70_!"];QU[5\-K^( MN)*2KQ0MON%8T@GKN%B?II!VAW0J>>*?_-%1=[ 4;5?6LWLM[IN3]JN8)_\' M4$L#!!0 ( /*!IUB,?)L>V08 $&5X M,S)D,2YH=&WM6GM3VS@0_RI[Z5P+,_$K 1J3U.2P#$5@L4Q[ L63"B 8YL[IM/:-FW#V.LAK4$YB2P<>$--O7@@].!]_%L6*QZ=K'_[F@ #<.R_FH/ M+.O .R@ZMDS; 4^0)&.2\83$EC4\:4 CDC)U+6LVFYFSMLG%Q/+.K4A.XRTK MYCRC9B"#QEY/M> G)<%>;THE 3\B(J/R3>/".S0Z.$(R&=.]GE7]+\:.>;#8 MZP7L$C*YB.F;QI2("4L,R5.W;:>RBS,M[+XV9F[,6" CU['MW[LI"0*63(R8 MAM+=-CN=JR;!)M&RC1>BN8+&1+)+JFC7J/HQ)<(=B,_4N1-(HGZ5P:)&83)*YX M[1;RN]@'ZL]I%5_4BN.5%6=4RS;F<8"=PWG$QDQ"NV4Z/6N,2DN_ XL^XI6* M&H]?8VLP//>.#H\&?>_H] 3!=SZZZ)]XX)VN$8].!R[,D3DP830<:#Z=]K;= M7",.^R/H'YR>><.#)U+AG:!8:7'7WH'30_#>#F'4/]_OGPQ'QNF'=\./T!]X MJJ=EVZWO)\2G/),L7'Q!BJ,$?)XDU%>V7;A?&5%XGQ.!XL<+.*"8Z) M\"-H.TU0+KL))(.0Q97[5^-'U,\%^AL4G"0!#.?H2I.)7F7*LDSQBK]J9( A M "(J*'*H&2D8WFS"41-&/I<2$-5_$-18$\X$S5B@ HZB.H@8#9$VKJ4<&IR& M(?.I4++6)-)#D59_NH ^V@>9HE!!LS;O3YQU(^E#EF"P8ZBGFTDW =O4!C4A MS466$YPM.5P9X\L7SL[KKC9%I202\%0%O/K@8HC"64E[1,28)#0S3N0DCLN(L7S.4N)7SR4RBQF&S^.8I!EU MJR_=;X)L&? P[D@^=14\N[48J$&M^#5BLN"Y=$,VI\%-.*_%JX+1RK-(@7]! M)40QK+U3AE89U#N_29!+M9\^B4N^-(LH0G<6,4D-I4_J)GPF2%KQVL%9I=Y+ M9C>L\K0[HJ44?A-WB41%"KL24Q-VZ+RN;&GO>TJP@S&-T"C[B-U;&N318 M0?_)F:#J,)RRU@98&P7ICU_ZUH=M:1^BR)%2/&H\8["1A"3I15L2/"M>$J6B7HA=7$&ZJ M;H*7#YR&RZ,'QXX4,9TU]:QPZ=F18* /QMKOXZ@\UCCF&/+TDMDUIV]^'M@/ M$_]7SU1UA5^R# _(,9,+-V(!!BL<\/)%IV6WNTNF4GT?J(SL5I93+*T@&17: M5U<'I6C49&4,^EY"87AMNG@K:BFL6MPK5V-:K0YT@MC/JNT6#T;RCK<,5Y+_S9F MJ+*O7K>6_62<\3B7M%LYC;K WQ\8M8'*$]P.)L65M/Q<-?K/ZGNK8VXYSPI_ M5(6W=Y\5_D *U]YZ-2#?V[4\PF4/E]E?%.?].QIHZ?"K WDZ!]P]%L +6_\\ MN5A69EV[W-U5RB];Q>-(<9_@_(/B\-ZBWAFSRK^L'V"?P?H,UMN=@+Y#)+S5 M:Z]UQ.0S %>/+JT[G%W6"X_K)?':^=-OD/C'0_=/?"9=31+\\+#\N7'XJY]) MG\'Z#-8G.Y/>*WVZCAA]0$!6>8#BC=.:L/=810D[RYJ$ R*I"\=D :^+"H$G MXN.$*SY4@MWNJCQ2D:Q'K.ET3Y'UG+!,"I6*#W.1L"Q"9G1BB65 RW(D_)IP M"0&E4QJ TG#+[NIZ!_W=Z>HJB307*<_H:O*T<\N$:5$=,*5)0(.FRK9RG"1F M+*.0Y>-/2$Z5"BA",2-ZSQDM\U)$5LN9I:CGI5":A9'$S2BSNB799=7>?:HV MLDAEU90^6.)S%%FH^HT5?8T7J->0"IKXM(FM/L4=0?FN9*)SE:?+X@5"0E< MHLJSW(\4/VC?YO]>WD;+#-&8^']/!,^30&6SN'"K8%RK?%OM*-^*JV,Y$J=& M^5R%[WK%W4IJ:Z5I68L2 M05USN/"TR,#(T,#,S,2YX#$P<2YH=&U02P$"% ,4 M " #R@:=8-"W];[,( #7,P %P @ %4C0$ 8VEX+3(P M,C0P,S,Q>&5X,S%D,2YH=&U02P$"% ,4 " #R@:=8CJE5PQL) !>.@ M%P @ $\E@$ 8VEX+3(P,C0P,S,Q>&5X,S%D,BYH=&U02P$" M% ,4 " #R@:=8C'R;'MD& !'*0 %P @ &,GP$ 8VEX J+3(P,C0P,S,Q>&5X,S)D,2YH=&U02P4& D "0!7 @ FJ8! end XML 54 cix-20240331x10q_htm.xml IDEA: XBRL DOCUMENT 0001049606 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2024-03-31 0001049606 us-gaap:RetainedEarningsMember 2024-03-31 0001049606 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0001049606 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-31 0001049606 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-12-31 0001049606 us-gaap:RetainedEarningsMember 2023-12-31 0001049606 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001049606 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001049606 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-03-31 0001049606 us-gaap:RetainedEarningsMember 2023-03-31 0001049606 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001049606 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0001049606 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2022-12-31 0001049606 us-gaap:RetainedEarningsMember 2022-12-31 0001049606 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001049606 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001049606 cix:SecurityProductsMember 2024-01-01 2024-03-31 0001049606 cix:MarineComponentsMember 2024-01-01 2024-03-31 0001049606 cix:SecurityProductsMember 2023-01-01 2023-03-31 0001049606 cix:MarineComponentsMember 2023-01-01 2023-03-31 0001049606 cix:ValhiIncMember us-gaap:UnsecuredDebtMember us-gaap:RelatedPartyMember 2024-03-31 0001049606 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-01 2024-03-31 0001049606 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0001049606 us-gaap:OperatingSegmentsMember cix:SecurityProductsMember 2024-01-01 2024-03-31 0001049606 us-gaap:OperatingSegmentsMember cix:MarineComponentsMember 2024-01-01 2024-03-31 0001049606 us-gaap:CorporateNonSegmentMember 2024-01-01 2024-03-31 0001049606 us-gaap:OperatingSegmentsMember cix:SecurityProductsMember 2023-01-01 2023-03-31 0001049606 us-gaap:OperatingSegmentsMember cix:MarineComponentsMember 2023-01-01 2023-03-31 0001049606 us-gaap:CorporateNonSegmentMember 2023-01-01 2023-03-31 0001049606 cix:NLIndustriesMember cix:ValhiIncMember 2024-03-31 0001049606 cix:CompXInternationalIncMember cix:NLIndustriesMember 2024-03-31 0001049606 cix:ValhiIncMember cix:ContranCorporationMember 2024-03-31 0001049606 cix:CurrentAssetsMember 2024-01-01 2024-03-31 0001049606 cix:CurrentAssetsMember 2023-01-01 2023-12-31 0001049606 cix:ValhiIncMember us-gaap:UnsecuredDebtMember us-gaap:RelatedPartyMember 2023-01-01 2024-03-31 0001049606 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001049606 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001049606 us-gaap:CommonClassAMember 2024-03-31 0001049606 us-gaap:CommonClassAMember 2023-12-31 0001049606 2023-03-31 0001049606 2022-12-31 0001049606 us-gaap:EstimateOfFairValueFairValueDisclosureMember 2024-03-31 0001049606 us-gaap:CarryingReportedAmountFairValueDisclosureMember 2024-03-31 0001049606 us-gaap:EstimateOfFairValueFairValueDisclosureMember 2023-12-31 0001049606 us-gaap:CarryingReportedAmountFairValueDisclosureMember 2023-12-31 0001049606 us-gaap:CorporateMember 2024-03-31 0001049606 cix:SecurityProductsMember 2024-03-31 0001049606 cix:MarineComponentsMember 2024-03-31 0001049606 cix:SecurityProductsMember 2023-12-31 0001049606 cix:MarineComponentsMember 2023-12-31 0001049606 2024-04-30 0001049606 2024-01-01 2024-03-31 0001049606 2023-01-01 2023-03-31 0001049606 cix:CurrentAssetsMember 2024-03-31 0001049606 cix:CurrentAssetsMember 2023-12-31 0001049606 us-gaap:UnsecuredDebtMember cix:ValhiIncMember 2016-08-01 2016-08-31 0001049606 us-gaap:UnsecuredDebtMember cix:ValhiIncMember 2016-08-31 0001049606 2024-03-31 0001049606 2023-12-31 iso4217:USD shares iso4217:USD shares pure 0.49 0.31 12307000 12314000 DE 0001049606 --12-31 2024 Q1 false 10-Q true 2024-03-31 false 1-13905 COMPX INTERNATIONAL INC 57-0981653 5430 LBJ Freeway Suite 1700 Dallas TX 75240-2620 972 448-1400 Class A common stock CIX NYSEAMER Yes Yes Non-accelerated Filer false false false 12313757 41393000 51866000 35354000 23701000 17061000 17329000 30712000 27543000 2110000 1807000 126630000 122246000 10600000 9800000 23742000 23742000 769000 747000 35111000 34289000 5390000 5390000 23239000 23262000 74315000 74650000 676000 536000 103620000 103838000 77757000 78654000 25863000 25184000 187604000 181719000 15745000 9697000 1460000 1725000 17205000 11422000 1509000 1359000 41000 34000 1550000 1393000 0 0 123000 123000 53275000 53275000 115457000 115517000 -6000 -11000 168849000 168904000 187604000 181719000 41151000 37971000 28447000 28304000 12704000 9667000 5664000 5952000 7040000 3715000 947000 1224000 7987000 4939000 1919000 1185000 6068000 3754000 -30000 -5000 6038000 3749000 0.49 0.31 12307000 12314000 123000 53155000 105175000 -17000 158436000 6068000 6068000 0.25 3077000 3077000 30000 30000 123000 53155000 108166000 -47000 161397000 123000 53275000 115457000 -6000 168849000 3754000 3754000 0.30 3694000 3694000 5000 5000 123000 53275000 115517000 -11000 168904000 6068000 3754000 1010000 926000 -250000 -151000 380000 351000 -44000 -58000 842000 264000 -1012000 -3107000 -4543000 -5990000 998000 265000 52000 -318000 3065000 1672000 270000 305000 13479000 0 4000000 12000000 7800000 6000000 6800000 5200000 -8749000 12495000 3077000 3694000 -8761000 10473000 26748000 41393000 17987000 51866000 1171000 1071000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Note 1 – Organization and basis of presentation:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Organization</i>. We (NYSE American: CIX) were approximately 87% owned by NL Industries, Inc. (NYSE: NL) at March 31, 2024. At March 31, 2024, Valhi, Inc. (NYSE: VHI) owned approximately 83% of NL’s outstanding common stock and a wholly-owned subsidiary of Contran Corporation owned approximately 91% of Valhi’s outstanding common stock. A majority of Contran’s outstanding voting stock is held directly by Lisa K. Simmons, Thomas C. Connelly (the husband of Ms. Simmons’ late sister) and various family trusts established for the benefit of Ms. Simmons, Mr. Connelly and their children and for which Ms. Simmons, Mr. Connelly or Mr. Connelly’s sister, as applicable, serve as trustee (collectively, the “Other Trusts”). With respect to the Other Trusts for which Mr. Connelly or his sister serves as trustee, the trustee is required to vote the shares of Contran voting stock held in such trusts in the same manner as Ms. Simmons. Such voting rights of Ms. Simmons last through April 22, 2030 and are personal to Ms. Simmons. The remainder of Contran’s outstanding voting stock is held by another trust (the “Family Trust”), which was established for the benefit of Ms. Simmons and her late sister and their children and for which a third-party financial institution serves as trustee. Consequently, at March 31, 2024 Ms. Simmons and the Family Trust may be deemed to control Contran, and therefore may be deemed to indirectly control the wholly-owned subsidiary of Contran, Valhi, NL and us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Basis of presentation.</i> Consolidated in this Quarterly Report are the results of CompX International Inc. and its subsidiaries. The unaudited Condensed Consolidated Financial Statements contained in this Quarterly Report have been prepared on the same basis as the audited Consolidated Financial Statements included in our Annual Report on Form 10-K for the year ended December 31, 2023 that we filed with the Securities and Exchange Commission (“SEC”) on February 28, 2024 (the “2023 Annual Report”). In our opinion, we have made all necessary adjustments (which include only normal recurring adjustments) in order to state fairly, in all material respects, our consolidated financial position, results of operations and cash flows as of the dates and for the periods presented. We have condensed the Consolidated Balance Sheet at December 31, 2023 contained in this Quarterly Report as compared to our audited Consolidated Financial Statements at that date, and we have omitted certain information and footnote disclosures (including those related to the Consolidated Balance Sheet at December 31, 2023) normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”). Our results of operations for the interim period ended March 31, 2024 may not be indicative of our operating results for the full year. The Condensed Consolidated Financial Statements contained in this Quarterly Report should be read in conjunction with our 2023 Consolidated Financial Statements contained in our 2023 Annual Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Our operations are reported on a 52 or 53-week year. For presentation purposes, annual and quarterly information in the Condensed Consolidated Financial Statements and accompanying notes are presented as ended March 31, 2023, December 31, 2023 and March 31, 2024. The actual dates of our annual and quarterly periods are April 2, 2023, December 31, 2023 and March 31, 2024, respectively. Unless otherwise indicated, references in this report to “we”, “us” or “our” refer to CompX International Inc. and its subsidiaries, taken as a whole.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Organization</i>. We (NYSE American: CIX) were approximately 87% owned by NL Industries, Inc. (NYSE: NL) at March 31, 2024. At March 31, 2024, Valhi, Inc. (NYSE: VHI) owned approximately 83% of NL’s outstanding common stock and a wholly-owned subsidiary of Contran Corporation owned approximately 91% of Valhi’s outstanding common stock. A majority of Contran’s outstanding voting stock is held directly by Lisa K. Simmons, Thomas C. Connelly (the husband of Ms. Simmons’ late sister) and various family trusts established for the benefit of Ms. Simmons, Mr. Connelly and their children and for which Ms. Simmons, Mr. Connelly or Mr. Connelly’s sister, as applicable, serve as trustee (collectively, the “Other Trusts”). With respect to the Other Trusts for which Mr. Connelly or his sister serves as trustee, the trustee is required to vote the shares of Contran voting stock held in such trusts in the same manner as Ms. Simmons. Such voting rights of Ms. Simmons last through April 22, 2030 and are personal to Ms. Simmons. The remainder of Contran’s outstanding voting stock is held by another trust (the “Family Trust”), which was established for the benefit of Ms. Simmons and her late sister and their children and for which a third-party financial institution serves as trustee. Consequently, at March 31, 2024 Ms. Simmons and the Family Trust may be deemed to control Contran, and therefore may be deemed to indirectly control the wholly-owned subsidiary of Contran, Valhi, NL and us.</p> 0.87 0.83 0.91 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Basis of presentation.</i> Consolidated in this Quarterly Report are the results of CompX International Inc. and its subsidiaries. The unaudited Condensed Consolidated Financial Statements contained in this Quarterly Report have been prepared on the same basis as the audited Consolidated Financial Statements included in our Annual Report on Form 10-K for the year ended December 31, 2023 that we filed with the Securities and Exchange Commission (“SEC”) on February 28, 2024 (the “2023 Annual Report”). In our opinion, we have made all necessary adjustments (which include only normal recurring adjustments) in order to state fairly, in all material respects, our consolidated financial position, results of operations and cash flows as of the dates and for the periods presented. We have condensed the Consolidated Balance Sheet at December 31, 2023 contained in this Quarterly Report as compared to our audited Consolidated Financial Statements at that date, and we have omitted certain information and footnote disclosures (including those related to the Consolidated Balance Sheet at December 31, 2023) normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”). Our results of operations for the interim period ended March 31, 2024 may not be indicative of our operating results for the full year. The Condensed Consolidated Financial Statements contained in this Quarterly Report should be read in conjunction with our 2023 Consolidated Financial Statements contained in our 2023 Annual Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">Our operations are reported on a 52 or 53-week year. For presentation purposes, annual and quarterly information in the Condensed Consolidated Financial Statements and accompanying notes are presented as ended March 31, 2023, December 31, 2023 and March 31, 2024. The actual dates of our annual and quarterly periods are April 2, 2023, December 31, 2023 and March 31, 2024, respectively. Unless otherwise indicated, references in this report to “we”, “us” or “our” refer to CompX International Inc. and its subsidiaries, taken as a whole.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Note 2 – Business segment information:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three months ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Security Products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,342</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 29,887</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Marine Components</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,809</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 8,084</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Total net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41,151</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 37,971</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating income:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Security Products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,379</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 5,450</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Marine Components</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 34</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Corporate operating expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,656)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (1,769)</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Total operating income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 3,715</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Interest income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 947</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 1,224</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,987</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 4,939</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:6pt 0pt 6pt 0pt;">Intersegment sales are not material.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three months ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net sales:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Security Products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,342</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 29,887</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Marine Components</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,809</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 8,084</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Total net sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41,151</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 37,971</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating income:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">  </b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Security Products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,379</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 5,450</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Marine Components</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,317</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 34</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Corporate operating expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,656)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (1,769)</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 24pt;">Total operating income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 3,715</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Interest income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 947</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 1,224</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,987</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 4,939</b></p></td></tr></table> 27342000 29887000 13809000 8084000 41151000 37971000 5379000 5450000 3317000 34000 -1656000 -1769000 7040000 3715000 947000 1224000 7987000 4939000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Note 3 – Marketable securities:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:53.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrealized</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Market value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">cost basis</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">loss, net</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="10" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:53.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:43.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:53.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">December 31, 2023:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:top;width:53.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 35,354</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 35,359</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (5)</p></td></tr><tr><td style="vertical-align:top;width:53.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:53.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 2024:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:53.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 23,701</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 23,712</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (11)</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our marketable securities consist of investments in debt securities, currently U.S. government treasuries. We classify our marketable securities as available-for-sale. The fair value of our marketable securities is generally determined using Level 2 inputs because although these securities are traded, in many cases the market is not active and the quarter-end valuation is generally based on the last trade of the quarter, which may be several days prior to quarter end. We accumulate unrealized gains and losses on marketable debt securities as part of accumulated other comprehensive income (loss), net of related deferred income taxes.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:53.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrealized</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Market value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">cost basis</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">loss, net</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="10" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:53.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:43.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:53.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">December 31, 2023:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:top;width:53.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 35,354</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 35,359</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (5)</p></td></tr><tr><td style="vertical-align:top;width:53.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:53.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">March 31, 2024:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:53.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 23,701</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 23,712</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (11)</b></p></td></tr></table> 35354000 35359000 -5000 23701000 23712000 -11000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Note 4 – Accounts receivable, net:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable, net:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Security Products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,950</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 14,293</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Marine Components</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 3,106</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (70)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;"> (70)</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,061</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 17,329</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable, net:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Security Products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,950</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 14,293</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Marine Components</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 3,106</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (70)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;"> (70)</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,061</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 17,329</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 14950000 14293000 2181000 3106000 70000 70000 17061000 17329000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:12pt 0pt 12pt 0pt;"><span style="font-weight:normal;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Note 5 – Inventories, net:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Security Products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,569</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 3,352</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Marine Components</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 1,634</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,738</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 4,986</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Work-in-process:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Security Products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,879</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 12,969</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Marine Components</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,163</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 4,746</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,042</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 17,715</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finished goods:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Security Products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,175</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 2,712</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Marine Components</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,757</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 2,130</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,932</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 4,842</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total inventories, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,712</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 27,543</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Security Products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,569</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 3,352</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Marine Components</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 1,634</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,738</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 4,986</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Work-in-process:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Security Products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,879</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 12,969</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Marine Components</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,163</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 4,746</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,042</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 17,715</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finished goods:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Security Products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,175</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 2,712</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Marine Components</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,757</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 2,130</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,932</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 4,842</b></p></td></tr><tr><td style="vertical-align:top;width:63.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total inventories, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,712</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 27,543</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 3569000 3352000 2169000 1634000 5738000 4986000 13879000 12969000 5163000 4746000 19042000 17715000 3175000 2712000 2757000 2130000 5932000 4842000 30712000 27543000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Note 6 – Accounts payable and accrued liabilities:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:64.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:32.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts payable:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:top;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Security Products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,514</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 2,358</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Marine Components</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 643</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Corporate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 73</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Employee benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,712</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 4,819</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Taxes other than on income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 285</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 453</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Insurance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 269</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 559</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 104</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Customer tooling</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 254</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Advances from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 162</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 562</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;"> Total accounts payable and accrued liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,745</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 9,697</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:64.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:32.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts payable:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:top;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Security Products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,514</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 2,358</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Marine Components</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 643</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Corporate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 73</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Employee benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,712</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 4,819</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Taxes other than on income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 285</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 453</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Insurance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 269</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 559</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 104</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Customer tooling</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 254</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Advances from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 162</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 562</b></p></td></tr><tr><td style="vertical-align:top;width:64.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;"> Total accounts payable and accrued liabilities</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,745</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 9,697</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 2514000 2358000 634000 643000 73000 10712000 4819000 285000 453000 289000 269000 559000 104000 145000 254000 267000 162000 340000 562000 15745000 9697000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Note 7 – Provision for income taxes:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:67.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three months ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:67.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected tax expense, at the U.S. federal statutory <br/><span style="font-family:'Calibri','Helvetica','sans-serif';">  </span>income tax rate of 21%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,677</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 1,037</b></p></td></tr><tr><td style="vertical-align:top;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">State income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 240</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 145</b></p></td></tr><tr><td style="vertical-align:top;width:67.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 3</b></p></td></tr><tr><td style="vertical-align:top;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,919</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 1,185</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:67.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Comprehensive provision for income taxes allocable to:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:67.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,919</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 1,185</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other comprehensive loss - marketable securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;"> (1)</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:67.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 1,184</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:67.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three months ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:67.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected tax expense, at the U.S. federal statutory <br/><span style="font-family:'Calibri','Helvetica','sans-serif';">  </span>income tax rate of 21%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,677</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 1,037</b></p></td></tr><tr><td style="vertical-align:top;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">State income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 240</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 145</b></p></td></tr><tr><td style="vertical-align:top;width:67.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 3</b></p></td></tr><tr><td style="vertical-align:top;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,919</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 1,185</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:67.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Comprehensive provision for income taxes allocable to:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:67.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,919</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 1,185</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:67.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other comprehensive loss - marketable securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;"> (1)</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:67.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 24pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 1,184</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 0.21 0.21 1677000 1037000 240000 145000 2000 3000 1919000 1185000 1919000 1185000 -13000 -1000 1906000 1184000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Note 8 – Financial instruments:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">See Note 3 for information on how we determine the fair value of our marketable securities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the financial instruments that are not carried at fair value but which require fair value disclosure:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:46.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:46.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">value</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:46.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:46.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,393</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,393</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 51,866</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 51,866</b></p></td></tr><tr><td style="vertical-align:top;width:46.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,061</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,061</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 17,329</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 17,329</b></p></td></tr><tr><td style="vertical-align:top;width:46.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,148</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,148</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 3,074</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 3,074</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Due to their near-term maturities, the carrying amounts of accounts receivable and accounts payable are considered equivalent to fair value.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">See Note 3 for information on how we determine the fair value of our marketable securities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the financial instruments that are not carried at fair value but which require fair value disclosure:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:46.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:46.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair</b></p></td></tr><tr><td style="vertical-align:bottom;width:46.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">value</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:46.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p></td></tr><tr><td style="vertical-align:top;width:46.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,393</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,393</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 51,866</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 51,866</b></p></td></tr><tr><td style="vertical-align:top;width:46.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,061</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,061</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 17,329</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 17,329</b></p></td></tr><tr><td style="vertical-align:top;width:46.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,148</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,148</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 3,074</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 3,074</b></p></td></tr></table> 41393000 41393000 51866000 51866000 17061000 17061000 17329000 17329000 3148000 3148000 3074000 3074000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Note 9 – Related party transactions:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt;">From time to time, we may have loans and advances outstanding between us and various related parties pursuant to term and demand notes. We generally enter into these loans and advances for cash management purposes. When we loan funds to related parties, we are generally able to earn a higher rate of return on the loan than we would earn if we invested the funds in other instruments, and when we borrow from related parties, we are generally able to pay a lower rate of interest than we would pay if we had incurred third-party indebtedness. While certain of these loans to affiliates may be of a lesser credit quality than cash equivalent instruments otherwise available to us, we believe we have considered the credit risks in the terms of the applicable loans. In this regard, we have an unsecured revolving demand promissory note with Valhi under which, as amended, we agreed to loan Valhi up to $25 million. Our loan to Valhi, as amended, bears interest at prime plus 1.00%, payable quarterly, with all principal due on demand, but in any event no earlier than December 31, 2025. Loans made to Valhi at any time under the agreement are at our discretion. At March 31, 2024, the outstanding principal balance receivable from Valhi under the promissory note was $9.8 million. Interest income (including unused commitment fees) on our loan to Valhi was $.3 million for each of the three months ended March 31, 2023 and 2024, respectively.</p> 25000000 0.0100 2025-12-31 9800000 300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">Note 10 – Recent Accounting Pronouncements:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-weight:bold;margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In November 2023, the Financial Accounting Standards Board (“FASB”) issued ASU 2023-07, Segment Reporting (Topic 280): <i style="font-style:italic;">Improvements to Reportable Segment Disclosures</i>. The ASU requires public companies to disclose significant segment expenses and other segment items on an annual and interim basis. The ASU also mandates public companies to provide all annual segment disclosures currently required annually in interim periods. Public companies will also be required to disclose the title and position of the chief operating decision maker (“CODM”) and explain how the CODM uses the reported measure of segment profit or loss in assessing segment performance and allocation of resources. The ASU is effective for us beginning with our 2024 Annual Report, and for interim reporting, in the first quarter of 2025, with retrospective application required. We are in the process of evaluating the additional disclosure requirements across all segments. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): <i style="font-style:italic;">Improvements to Income Tax Disclosures</i>. The ASU requires additional annual disclosure and disaggregation for the rate reconciliation, income taxes paid and income tax expense by federal, state and foreign tax jurisdictions. In addition, the standard increases the disclosure requirements for items included in the rate reconciliation that meet a quantitative threshold. The ASU is effective for us beginning with our 2025 Annual Report. The ASU may be applied prospectively; however, entities have the option to apply it retrospectively. We are in the process of evaluating the additional disclosure requirements. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p>